Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL:chỉ mục duy nhất không tôn trọng các giá trị `null`

Có, đây là hành vi mong đợi trong MySQL (trên thực tế là trong ANSI-92). NULL các giá trị không được coi là giá trị bằng nhau trong các khóa duy nhất và khóa chính không được chứa NULL giá trị theo định nghĩa.

( http://www.contrib.andrew.cmu.edu /~shadow/sql/sql1992.txt )

Vì bạn có ràng buộc khóa ngoại trên cột nullable, tôi khuyên bạn nên thêm một giá trị giả vào các bảng mẹ, trong đó nêu thực tế là bảng mẹ không liên quan hoặc không được xác định (các bản ghi mà ID =0 có thể) và thêm mã <> KHÔNG ĐẦY ĐỦ ràng buộc vào cột. (Ngoài ra, bạn có thể thêm giá trị giả dưới dạng DEFAULT ).




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO - Số tham số không hợp lệ

  2. Gặp phải lỗi nghiêm trọng trong quá trình đọc dữ liệu

  3. Tuyên bố chuẩn bị với ON DUPLICATE KEY

  4. Danh sách thả xuống động cho các quốc gia, tiểu bang, vị trí địa lý khác nhau?

  5. Truy vấn SQL để xóa cơ sở dữ liệu trong MySQL