티스토리 뷰

반응형

1. 개요

MySQL에서 테이블(table)을 추가하거나 테이블(table) 내의 컬럼(column)을 수정할 때

Invalid default value for 'column_name'

이라는 오류문구를 리턴하며 처리 되지 않는 경우가 있다.

 

이 오류가 나타났을 때 해결법은 간단하다.

 

Invalid default value for 'column_name'을 해석해 보면

'column_name'의 기본 값이 잘못되었습니다.

이다.

 

2. 원인

기본 값 설정이 해당 컬럼(column)에 필요없거나 해당 컬럼의 데이터형식에 맞지 않는 경우이다.

 

3. 오류 예시

- AUTO_INCREMENT를 사용할 때 기본 값을 설정하는 경우

CREATE TABLE table_name (
    column_name INT DEFAULT 1 NOT NULL AUTO_INCREMENT,
    PRIMARY KEY (id)
);

▲ AUTO_INCREMENT를 사용하면 기본 값이 자동으로 설정되므로 기본 값을 설정하지 않아도 됨. 위 쿼리에서는 "DEFAULT 1"을 쓰지 말아야 함.

 

- 데이터 형식에 맞지 않는 기본 값을 설정하는 경우

CREATE TABLE table_name (
    column_name INT DEFAULT 'heavening.tistory.com' NOT NULL
);

이 쿼리의 경우 컬럼의 데이터타입에 맞지 않는 기본 값을 설정했으므로 오류가 난다.

 

 

 

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함