当我们使用 ALTER TABLE 语句对包含 NULL 值的列应用 NOT NULL 约束时会发生什么?

数据库数据库 2023-08-31 03:31:47 1081
摘要: 示例假设我们有一个表“test2”,其中第2行的“ID”列中包含NULL值。现在,如果我们尝试将列ID声明为NOTNULL,那么MySQL将返回错误,如下所示-mysql>Select*fromtest2;+------+--------+|ID|Name|...

当我们使用 ALTER TABLE 语句对包含 NULL 值的列应用 NOT NULL 约束时会发生什么?

示例

假设我们有一个表“test2”,其中第 2 行的“ID”列中包含 NULL 值。现在,如果我们尝试将列 ID 声明为 NOT NULL,那么 MySQL 将返回错误,如下所示 -

mysql> Select * from test2;
+------+--------+
| ID   | Name   |
+------+--------+
| 1    | Gaurav |
| NULL | Rahul  |
+------+--------+
2 rows in set (0.00 sec)
mysql> ALTER TABLE TEST2 MODIFY ID INT NOT NULL;
ERROR 1265 (01000): Data truncated for column 'ID' at row 2

以上就是当我们使用 ALTER TABLE 语句对包含 NULL 值的列应用 NOT NULL 约束时会发生什么?的详细内容,更多请关注其它相关文章!