[MySQL] Field '×××' doesn't have a default value 오류
그물터 관리/MySQL
2022/07/01 21:48
열(컬럼)에 기본값이 따로 지정되지 않았는데 그 열의 값을 뚜렷하게 지정하지 않는 채로 INSERT나 UPDATE 등으로 자료를 넣으면 "Field '×××' doesn't have a default value"라는 오류가 나올 수 있다.
크게 두 가지 방법으로 이 오류를 피할 수 있다.
(1) 열에 들어갈 기본값을 미리 정해 놓는다.
열에 기본값(default value)를 미리 정해 놓으면, 열의 자료값을 뚜렷이 넣지 않는 때에 기본값이 저절로 채워진다.
이런 꼴의 명령으로 test_table이라는 테이블에 있는 id 열의 기본값을 '0'으로 바꿀 수 있다.
ALTER TABLE `test_table` CHANGE `id` `id` INT(11) DEFAULT '0';
이렇게 id 열의 기본값을 지정해 두면, INSERT INTO 등으로 자료를 넣으면서 id 값을 따로 지정하지 않을 때에 id 열에 정수값 '0'이 들어간다.(2) 열에 들어갈 값을 빠뜨리지 않고 넣는다.
INSERT INTO `table_name` (id, name, number) VALUES('1', 'user', '113323');
id 열에 기본값이 지정되어 있지 않다면, INSERT INTO로 넣는 id 열과 그 값('1')을 빠뜨리지 않고 꼬박 넣어서 기본값이 지정되지 않은 것에 따르는 오류를 피할 수 있다.
덧글을 달아 주세요