programing

TEXT 형식의 열을 VARCHAR로 변환하는 방법은?

cafebook 2023. 9. 25. 23:05
반응형

TEXT 형식의 열을 VARCHAR로 변환하는 방법은?

데이터가 포함된 열을 다음과 같이 변환할 수 있는 방법이 있습니까?TEXT로.VARCHAR(X)쉽게?열에 기존 레코드가 없습니다.X.

네 물론이죠

ALTER TABLE table_name MODIFY column_name VARCHAR(X)

MS SQL의 경우:

ALTER TABLE table_name
ALTER COLUMN column_name datatype(value)

MySQL의 경우

ALTER TABLE table_name
MODIFY column_name datatype(value)

제 DB를 대량 변경할 때 사용했습니다.실행한 다음 모든 행을 복사하고 쿼리 필드에 붙여넣은 다음 헤더를 제거하고 실행합니다.

DB=itsd의 모든 테이블의 엔진, Charset 및 COLATION 변경:

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," ENGINE=INNODB, 
 CHARSET=utf8, COLLATE=utf8_general_ci;") AS ExecuteTheString
 FROM INFORMATION_SCHEMA.TABLES 
 WHERE TABLE_SCHEMA="itsd"
    AND TABLE_TYPE="BASE TABLE";

DB=itsd의 모든 테이블의 CHARSET 및 COLATION 변환:

SELECT CONCAT("ALTER TABLE ", TABLE_SCHEMA, '.', TABLE_NAME," CONVERT TO 
 CHARACTER SET utf8;") AS ExecuteTheString
 FROM INFORMATION_SCHEMA.TABLES
 WHERE TABLE_SCHEMA="itsd"
    AND TABLE_TYPE="BASE TABLE";

DB=itsd의 모든 테이블 중 모든 TEXT 필드를 VARCHAR(255)로 변경합니다.

 SELECT CONCAT('ALTER TABLE ', table_schema, '.', table_name, ' MODIFY COLUMN ', 
 column_name, ' VARCHAR(255);')
 FROM information_schema.columns
 WHERE TABLE_SCHEMA = 'itsd'
    AND DATA_TYPE = 'text' 
    AND TABLE_TYPE="BASE TABLE";

포스트그레스용

ALTER TABLE "table_name" ALTER COLUMN "column_name" TYPE VARCHAR(x);

언급URL : https://stackoverflow.com/questions/13531230/how-to-convert-a-column-of-type-text-to-varchar

반응형