MySQL 테이블에서 열 크기를 어떻게 수정하려면?
-
16-09-2019 - |
문제
나는 테이블을 만들고 우연히 넣었다 varchar
길이 AS 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
명령은 이것을보다 간결하게 수행 할 수 있습니다.
re 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)
, MySQL이 할 수있는 것은 테이블의 다른 열과 합산 된 경우 65535를 초과하지 않는 한.
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
제휴하지 않습니다 StackOverflow