반응형
mysql 테이블의 열 크기를 어떻게 수정합니까?
나는 테이블을 만들고 실수 varchar
로 300
대신 길이를 넣었다 65353
. 어떻게 고칠 수 있습니까?
예를 들어 주시면 감사하겠습니다.
이것을 시도 했습니까?
ALTER TABLE <table_name> MODIFY <col_name> VARCHAR(65353);
이것은 col_name 유형을VARCHAR(65353)
ALTER TABLE <tablename> CHANGE COLUMN <colname> <colname> VARCHAR(65536);
열 이름을 변경하지 않더라도 열 이름을 두 번 나열해야합니다.
이 변경을 수행 한 후 열의 데이터 유형은입니다 MEDIUMTEXT
.
Miky D가 정확하면 MODIFY
명령이 더 간결하게 수행 할 수 있습니다.
다시 MEDIUMTEXT
일 : MySQL의 행은 65535 바이트 (계산하지 BLOB / TEXT 열)이 될 수 있습니다. 열을 너무 크게 변경하여 행의 총 크기를 65536 이상으로 만들려고하면 오류가 발생할 수 있습니다. 열을 선언하려고하면 VARCHAR(65536)
해당 테이블의 유일한 열인 경우에도 열이 너무 커서 MySQL은 자동으로 MEDIUMTEXT
데이터 유형 으로 변환합니다 .
mysql> create table foo (str varchar(300));
mysql> alter table foo modify str varchar(65536);
mysql> show create table foo;
CREATE TABLE `foo` (
`str` mediumtext
) ENGINE=MyISAM DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
VARCHAR(65353)
테이블의 다른 열과 합한 열 크기가 65535를 초과하지 않는 한 MySQL에서 할 수있는 원래 질문을 잘못 읽었습니다 .
mysql> create table foo (str1 varchar(300), str2 varchar(300));
mysql> alter table foo modify str2 varchar(65353);
ERROR 1118 (42000): Row size too large.
The maximum row size for the used table type, not counting BLOBs, is 65535.
You have to change some columns to TEXT or BLOBs
참고 : https://stackoverflow.com/questions/1279568/how-can-i-modify-the-size-of-column-in-a-mysql-table
반응형
'development' 카테고리의 다른 글
미적으로 유쾌한 색상 팔레트를 임의로 생성하는 알고리즘 (0) | 2020.03.17 |
---|---|
Android“…”를 줄임표 문자로 바꿉니다. (0) | 2020.03.17 |
Linux에 표준 종료 상태 코드가 있습니까? (0) | 2020.03.17 |
Git의 기본 편집기로 Visual Studio Code를 사용하는 방법 (0) | 2020.03.17 |
pip를 사용하여 로컬 파일 시스템 폴더에서 virtualenv로 Python 패키지 설치 (0) | 2020.03.17 |