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

Cách chèn từ khóa NULL làm giá trị vào cột ký tự có ràng buộc NOT NULL trong MySQL

Có thể chèn chuỗi ký tự 'NULL' (văn bản) vào cột kiểu ký tự có ràng buộc NOT NULL, vì 'NULL' là một giá trị chuỗi hợp lệ, khác với giá trị NULL (rỗng).

Ví dụ minh họa

Bảng test2 có cột NAME kiểu VARCHAR(20) với NOT NULL:

mysql> DESCRIBE test2;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| id    | int(11)     | NO   |     | NULL    |       |
| NAME  | varchar(20) | NO   |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+

Chèn chuỗi 'NULL':

mysql> INSERT INTO test2 VALUES(2, 'NULL');
Query OK, 1 row affected (0.06 sec)

mysql> SELECT * FROM test2;
+----+--------+
| id | NAME   |
+----+--------+
|  1 | Gaurav |
|  2 | NULL   |
+----+--------+

Phân biệt:

  • WHERE name IS NULL → tìm giá trị NULL thực sự (rỗng). Kết quả: 0 hàng.
  • WHERE name = 'NULL' → tìm chuỗi ký tự 'NULL'. Kết quả: 1 hàng (id=2).
mysql> DELETE FROM test2 WHERE name IS NULL;    -- 0 rows affected
mysql> DELETE FROM test2 WHERE name = 'NULL';  -- 1 row affected

Điều này chứng minh 'NULL' chuỗi và NULL giá trị rỗng là hoàn toàn khác nhau.