Computer >> Máy Tính >  >> Lập trình >> MySQL

Điều gì xảy ra khi chúng ta áp dụng ràng buộc NOT NULL, với câu lệnh ALTER TABLE, cho một cột chứa giá trị NULL?


Trong trường hợp này, MySQL sẽ trả về thông báo lỗi liên quan đến dữ liệu bị cắt ngắn cho cột. Sau đây là một ví dụ chứng minh điều đó -

Ví dụ

Giả sử chúng ta có một bảng ‘test2’ chứa giá trị NULL trong cột ‘ID’ ở hàng thứ 2. Bây giờ, nếu chúng ta cố gắng khai báo ID cột là NOT NULL thì MySQL sẽ trả về lỗi như sau -

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