반응형
MySQL 열 ENUM 값 변경
테이블 MySQL"이.content
에는 '이렇게 하다'라는 글자가 있어요page_type
입입 of ENUM
. 。ENUM
값은 다음과 같습니다.NEWS
&PRESS_RELEASE
NEWS
FEATURED_COVERAGE
:
ALTER TABLE `content` CHANGE `pagetype` `pagetype` ENUM('FEATURED_COVERAGE','PRESS_RELEASE') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
이전에는 이었던 는 page_type 이었습니다.NEWS
어떤 이 있는지 알 가 없어요.또한 어떤 레코드가 어떤 레코드인지 식별할 수 있는 방법이 없습니다.NEWS
제가 을 바꿀 수 FEATURED_COVERAGE
.
이러한 문제를 어떻게 해결할 것인가?
열거값의 합니다.NEWS
로로 합니다.FEATURED_COVERAGE
합니다.
테이블을 변경하고 컬럼에 새 열거값을 추가하여 3개의 enum을 만듭니다.
ALTER TABLE `content` CHANGE `pagetype` `pagetype` ENUM('FEATURED_COVERAGE','PRESS_RELEASE', 'NEWS') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
모든 레코드에 대해 이전 열거 값을 새 값으로 설정합니다.
UPDATE `content` set `pagetype` = 'FEATURED_COVERAGE' where `pagetype` = 'NEWS';
테이블을 변경하고 이전 열거 값을 삭제합니다.
ALTER TABLE `content` CHANGE `pagetype` `pagetype` ENUM('FEATURED_COVERAGE','PRESS_RELEASE') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
MySQL 열거형에는 항상 0이 정수로, "이 문자열로 지정되는 숨겨진 옵션이 있습니다.유효하지 않은 값을 할당하려고 하면 숨겨진 값이 사용됩니다.
업데이트 전에 모든 빈 값이 'NEWS'라고 가정하면 다음과 같이 변경할 수 있습니다.
UPDATE content SET pagetype = 'FEATURED_COVERAGE' WHERE pagetype = 0
디폴트(채무불이행)가 도움이 된 것 같아요.
ALTER TABLE `content`
CHANGE `pagetype` `pagetype` ENUM('FEATURED_COVERAGE','PRESS_RELEASE')
CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULt 'FEATURED_COVERAGE';
이제 업데이트를 맹목적으로 수행해야 합니다.
또한 값 집합이 변경되는 경우에는 열거형 열을 사용하지 마십시오.
1개만 변경했으므로 어렵지 않습니다.
이것을 사용해 보세요.
UPDATE content SET pagetype = 'FEATURED_COVERAGE' WHERE pagetype = 0
언급URL : https://stackoverflow.com/questions/15642695/mysql-change-a-column-enum-value
반응형
'programing' 카테고리의 다른 글
mysql 날짜 업데이트(슬래시 포함) (0) | 2022.10.31 |
---|---|
유형 오류 가져오기: Vue GoogleMapApiLoader를 사용할 때 순환 구조를 JSON으로 변환하는 중 (0) | 2022.10.21 |
Vuex - API 호출 전후에 상태 변경을 커밋하시겠습니까? (0) | 2022.10.21 |
jQuery를 사용하여 입력에 포커스가 있는지 테스트 (0) | 2022.10.21 |
메서드 파라미터에서 사용되는 함수 콜백의 유형(유니버설타입이 아닌 임의의 함수타입)을 정의하는 방법 (0) | 2022.10.21 |