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


在这种情况下,MySQL 将返回一条错误消息,说明该列的数据已截断。以下是演示它的一个示例 −

范例

假设我们有一张表“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

更新于: 2020 年 6 月 19 日

203 个浏览量

开启你的职业 生涯

完成课程并获得认证

开始
广告