예시는 다음과 같다. 아래와 같은 테이블이 있다.
DROP TABLE samuel_test;
# dummy
CREATE TABLE `samuel_test` (
`id` char(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
`name` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
# 안바뀐다.
ALTER TABLE samuel_test CHANGE `id` `id` char(36) NOT NULL;
# 먼저 테이블 스키마에 COLLATE 부분을 먼저 정리
ALTER TABLE samuel_test DEFAULT CHARACTER SET utf8mb4;
# 테이블 스키마에 COLLATE 부분이 정리된 것을 확인할 수 있다.
SHOW CREATE TABLE samuel_test;
ALTER TABLE samuel_test CHANGE `id` `id` char(36) NOT NULL;
SHOW CREATE TABLE samuel_test;
이제 제대로 정리되었음을 알 수 있다.
samuel_test, CREATE TABLE `samuel_test` (
`id` char(36) NOT NULL,
`name` bigint(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
'DB' 카테고리의 다른 글
[mysql] CHARACTER COLLATE 테이블, 컬럼 속성 변경하기 (0) | 2019.07.12 |
---|---|
[mysql] mysql 5.7에서 Waiting for table metadata lock 재현 및 해결하기 (0) | 2019.06.11 |
Warning: Using a password on the command line interface can be insecure 다른 방법 해결 (0) | 2019.04.24 |
[mysql] timestamp 타입 주의사항 (0) | 2019.03.06 |
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 104 (0) | 2019.01.11 |
[oracle] ORA-01843: not a valid month 해결 하기 (0) | 2018.12.03 |
댓글을 달아 주세요