Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

기존 MySQL 테이블의 열에서 NOT NULL 제약 조건을 어떻게 제거할 수 있습니까?

<시간/>

ALTER TABLE 문을 사용하여 기존 테이블의 열에서 NOT NULL 제약 조건을 제거할 수 있습니다.

예시

다음과 같이 'ID' 열에 NOT NULL 제약 조건이 있는 'test123' 테이블이 있다고 가정합니다. -

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra    |
+-------+---------+------+-----+---------+-------+
| ID    | int(11) | NO   |     |   NULL  |       |
| Date  | date    | YES  |     |   NULL  |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.04 sec)

이제 NOT NULL 제약 조건을 제거하려면 다음과 같이 ALTER TABLE 문을 사용할 수 있습니다. -

mysql> ALTER TABLE test123 MODIFY ID INT NULL;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> DESCRIBE test123;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+------ +---------+------+-----+---------+-------+
| ID    | int(11) | YES  |     |   NULL  |       |
| Date  | date    | YES  |     |   NULL  |       |
+-------+---------+------+-----+---------+-------+
2 rows in set (0.06 sec)

위의 결과 집합은 'ID' 열에 대한 NOT NULL 제약 조건이 제거되었음을 보여줍니다.

위 쿼리에서 MODIFY 키워드 뒤에 오는 NULL 키워드는 선택 사항입니다. 다음 쿼리도 위와 동일한 결과를 생성합니다 -

mysql> ALTER TABLE test123 MODIFY ID INT;
Query OK, 0 rows affected (0.20 sec)
Records: 0 Duplicates: 0 Warnings: 0