當我們使用 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 個瀏覽量

開啟你的職業 生涯

完成課程並獲得認證

開始
廣告
© . All rights reserved.