더북(TheBook)

코드 10-5

INSERT INTO emp_test (emp_no, hire_date)
              VALUES (1004, '2021-02-10');

실행결과

코드 10-5를 실행하면 오류가 발생합니다. 앞에서 분명히 테이블에 있는 모든 칼럼에 값을 입력할 필요가 없고 입력할 칼럼과 값의 개수, 순서, 데이터 타입만 맞추면 정상적으로 입력된다고 했는데, 왜 오류가 날까요?

오류는 emp_name 칼럼 때문에 발생합니다. emp_test 테이블을 생성할 때 emp_no와 emp_name 칼럼에 NOT NULL 옵션을 부여했죠. 따라서 신규 로우를 입력할 때 두 칼럼에는 값을 반드시 넣어야 하는데, emp_name 칼럼에 값을 넣지 않아 오류가 발생했습니다. 참고로 hire_date나 salary 칼럼은 NULL 허용 칼럼이므로 값을 넣어도 되고 넣지 않아도 됩니다.

코드 10-6

INSERT INTO emp_test (emp_no, emp_name, hire_date)
              VALUES (1003, '파인먼', '2021-01-10');

실행결과

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.