[MySQL] Field '×××' doesn't have a default value 오류

  열(컬럼)에 기본값이 따로 지정되지 않았는데 그 열의 값을 뚜렷하게 지정하지 않는 채로 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')을 빠뜨리지 않고 꼬박 넣어서 기본값이 지정되지 않은 것에 따르는 오류를 피할 수 있다.

2022/07/01 21:48 2022/07/01 21:48
글 걸기 주소 : 이 글에는 글을 걸 수 없습니다.

덧글을 달아 주세요