我们如何从现有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;

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;

Records: 0 Duplicates: 0 Warnings: 0

以上是 我们如何从现有MySQL表的列中删除NOT NULL约束? 的全部内容, 来源链接: utcz.com/z/322305.html

回到顶部