MySQL 如何从现有MySQL表的列中去除NOT NULL约束?

MySQL 如何从现有MySQL表的列中去除NOT NULL约束?

我们可以使用ALTER TABLE语句从现有表的列中去除NOT NULL约束。

阅读更多:MySQL 教程

示例

假设我们有一个名为“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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程