如何從現有 MySQL 表中的列中移除 NOT NULL 約束?
我們可以使用 ALTER TABLE 語句從現有表的列中移除 NOT NULL 約束。
例項
假設我們有一個名為“test123”的表,其中對列“ID”設定了 NOT NULL 約束,如下所示:
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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP