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

mysqlmysqli database

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

示例

假设我们有一个表 ‘test2’,它在第二行的列 ‘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

相关文章