在使用 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
广告