Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 날짜 열을 NULL 허용으로 변경하는 쿼리 사용법

MySQL에서 날짜(DATE) 열에 NULL 값을 저장할 수 있도록 하려면 ALTER TABLE 문과 MODIFY 절을 함께 사용하여 해당 열의 제약 조건을 NULL 허용으로 변경하면 됩니다. 기본적인 문법은 다음과 같습니다.

alter table yourTableName modify column yourColumnName date NULL;

실제 동작 과정을 예제를 통해 단계별로 살펴보겠습니다.

1. NOT NULL 제약 조건이 있는 테이블 생성

먼저 ShippingDate 열을 NOT NULL로 설정한 테이블을 생성합니다.

mysql> create table DemoTable
(
    ShippingDate date NOT NULL
);
Query OK, 0 rows affected (0.78 sec)

2. NULL 값 삽입 시 오류 확인

이 상태에서 NULL 값을 삽입하려고 하면, 열이 NOT NULL로 설정되어 있기 때문에 다음과 같은 오류가 발생합니다.

mysql> insert into DemoTable values(null);
ERROR 1048 (23000) − Column 'ShippingDate' cannot be null

3. ALTER TABLE로 NULL 허용하도록 변경

이제 ALTER TABLE 문을 사용하여 해당 열이 NULL 값을 허용하도록 테이블 구조를 변경합니다.

mysql> alter table DemoTable modify column ShippingDate date NULL;
Query OK, 0 rows affected (1.81 sec)
Records : 0 Duplicates : 0 Warnings : 0

4. NULL 값 삽입 성공 확인

테이블 구조가 변경되었으므로, 이번에는 INSERT 명령으로 NULL 값을 넣어도 오류 없이 정상적으로 처리됩니다.

mysql> insert into DemoTable values(null);
Query OK, 1 row affected (1.21 sec)

5. 결과 조회

SELECT 문을 사용하여 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

실행 결과는 다음과 같습니다. ShippingDate 열에 NULL 값이 정상적으로 저장된 것을 확인할 수 있습니다.

+--------------+
| ShippingDate |
+--------------+
| NULL         |
+--------------+
1 row in set (0.00 sec)

이처럼 ALTER TABLE ... MODIFY COLUMN 구문을 활용하면 기존 테이블의 열 제약 조건을 간단하게 변경하여 NULL 값 입력을 허용할 수 있습니다.