실제로 MySQL NOT NULL 제약 조건은 테이블의 열이 NULL 값을 갖는 것을 제한합니다. NOT NULL 제약 조건을 열에 적용하면 해당 열에 null 값을 전달할 수 없습니다. 전체 테이블에 대해 선언할 수 없습니다. 즉, NOT NULL이 열 수준 제약 조건이라고 말할 수 있습니다.
필드를 NOT NULL로 선언하려면 CREATE TABLE 문에서 열을 정의할 때 NOT NULL 키워드를 사용해야 합니다.
예시
mysql> Create table Employee(ID Int NOT NULL, First_Name Varchar(20), Last_name Varchar(20), Designation Varchar(15)); Query OK, 0 rows affected (0.59 sec)
위 쿼리에서 우리는 'Employee' 테이블의 'ID' 필드에 NOT NULL 제약 조건을 적용했습니다. 이제 'ID' 컬럼은 NULL 값을 가질 수 없습니다. DESCRIBE 문에서도 ID 필드가 NULL 값을 허용할 수 없음을 확인할 수 있습니다.
mysql> DESCRIBE Employee123\G *************************** 1. row *************************** Field: ID Type: int(11) Null: NO Key: Default: NULL Extra: *************************** 2. row *************************** Field: First_Name Type: varchar(20) Null: YES Key: Default: NULL Extra: *************************** 3. row *************************** Field: Last_name Type: varchar(20) Null: YES Key: Default: NULL Extra: *************************** 4. row *************************** Field: Designation Type: varchar(15) Null: YES Key: Default: NULL Extra: 4 rows in set (0.03 sec)