Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Điều gì xảy ra khi thêm NOT NULL vào cột đã có giá trị NULL bằng ALTER TABLE?

MySQL sẽ báo lỗi Data truncated for column vì không thể áp dụng NOT NULL cho cột đang chứa giá trị NULL.

Ví dụ

Bảng test2 có hàng thứ 2 cột ID là NULL:

mysql> SELECT * FROM test2;
+------+--------+
| ID   | Name   |
+------+--------+
| 1    | Gaurav |
| NULL | Rahul  |
+------+--------+

mysql> ALTER TABLE test2 MODIFY ID INT NOT NULL;
ERROR 1265 (01000): Data truncated for column 'ID' at row 2

Cần cập nhật (UPDATE) các giá trị NULL thành giá trị hợp lệ trước khi thêm ràng buộc NOT NULL.