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
thing: MySQL 행은 65535바이트(BLOB/TEXT 열 제외)만 사용할 수 있습니다.열을 너무 크게 변경하여 행의 총 크기를 65536 이상으로 하면 오류가 발생할 수 있습니다.의 컬럼을 선언하려고 하면VARCHAR(65536)
테이블에서 유일한 열이라도 너무 커서 MySQL이 자동으로 변환합니다.MEDIUMTEXT
data type 입니다.
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
ALTER TABLE {table_name} MODIFY [COLUMN] {column_name} {column_type} {defaults and/or not-null};
(포함)COLUMN
는 옵션입니다).
주의: 컬럼이 다음과 같이 작성된 경우NOT NULL
기타에 기재할 필요가 있는 경우가 있습니다.MODIFY
그들을 잃지 않기 위한 진술입니다.
언급URL : https://stackoverflow.com/questions/1279568/how-can-i-modify-the-size-of-column-in-a-mysql-table
'programing' 카테고리의 다른 글
JavaScript를 사용하여 이미지의 실제 폭과 높이를 확인하시겠습니까?(Safari/Chrome) (0) | 2022.09.23 |
---|---|
상태 배열에서 항목을 삭제하는 방법 (0) | 2022.09.23 |
Python 3에서 인쇄 시 구문 오류 발생 (0) | 2022.09.23 |
Concurrent Skip List Map은 언제 사용해야 합니까? (0) | 2022.09.23 |
JavaScript - 현재 날짜에서 주의 첫 번째 요일을 가져옵니다. (0) | 2022.09.23 |