반응형
MySQL Alter 테이블로 인해 오류 : 잘못된 NULL 값 사용
내 기존 테이블 :
+-----------------+---------------+------+-----+---------+-------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+-------------------+
| creation_date | timestamp | YES | | NULL |
다음과 같이 테이블을 변경하고 싶었습니다.
ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
하지만이 오류가 발생했습니다.
7 행의 오류 1138 (22004) : NULL 값의 잘못된 사용
문제는 YES였던 Nullable을 NOT NULL로 변경하는 것과 같습니다. 컬럼을 삭제하고 나중에 추가해야합니까?
NULL 값이있는 행이 거의없는 것 같습니다. 모든 null 값을 해당 열의 기본 날짜로 업데이트 한 다음 변경을 시도합니다.
이 시도
--update null value rows
UPDATE enterprise
SET creation_date = CURRENT_TIMESTAMP
WHERE creation_date IS NULL;
ALTER TABLE enterprise
MODIFY creation_date TIMESTAMP NOT NULL
DEFAULT CURRENT_TIMESTAMP;
열에
NULL
값 이 없을 때까지이 쿼리를 사용할 수 없습니다creation_date
.
creation_date
기본 날짜로 열을 업데이트 한 다음 테이블을 변경하십시오.
이렇게
UPDATE enterprise SET creation_date = CURRENT_TIMESTAMP WHERE creation_date IS NULL;
ALTER TABLE enterprise MODIFY creation_date TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;
반응형
'program story' 카테고리의 다른 글
Facebook Graph API는 이메일 주소를 반환하지 않습니다. (0) | 2020.12.24 |
---|---|
핸들 바의 항목을 반복 할 때 {{@index}}에 오프셋 추가 (0) | 2020.12.24 |
RecyclerView에서 불일치가 감지되었습니다. 스크롤하는 동안 RecyclerView의 내용을 변경하는 방법 (0) | 2020.12.24 |
"서명 된"키워드의 실제 사용은 무엇입니까? (0) | 2020.12.24 |
How to open URL in Microsoft Edge from the command line? (0) | 2020.12.24 |