Lỗi này xảy ra khi gán dữ liệu vượt quá giới hạn cho phép. Ví dụ: không thể lưu chuỗi vào cột BIT vì VARCHAR cần dung lượng lớn hơn BIT.
Cú pháp cho cột BIT:
anyBitColumnName= b'1' OR anyBitColumnName= b'0'
Demo: Tạo bảng, chèn dữ liệu, gặp lỗi khi UPDATE cột BIT với chuỗi '1'.
Sửa bằng cách thêm tiền tố b:
mysql> update ErrorDemo set isStudent=b'1' where Id=9; Query OK, 0 rows affected (0.00 sec)
Cập nhật Id=9 với Name=Maxwell, isStudent=b'0':
mysql> update ErrorDemo set Name='Maxwell', isStudent=b'0' where Id=9; Query OK, 1 row affected (0.16 sec)
Kiểm tra:
mysql> select *from ErrorDemo where Id=9;
+----+---------+-----------+ | Id | Name | isStudent | +----+---------+-----------+ | 9 | Maxwell | | +----+---------+-----------+ 1 row in set (0.00 sec)