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

Khóa ghép MySql và giá trị null

http://dev.mysql.com/doc/refman /5.0/en/create-index.html

"Chỉ mục UNIQUE tạo ra một ràng buộc sao cho tất cả các giá trị trong chỉ mục phải khác biệt. Lỗi xảy ra nếu bạn cố gắng thêm một hàng mới với giá trị khóa khớp với một hàng hiện có. Ràng buộc này không áp dụng cho các giá trị NULL ngoại trừ Công cụ lưu trữ BDB. Đối với các công cụ khác, chỉ mục DUY NHẤT cho phép nhiều giá trị NULL cho các cột có thể chứa NULL. "

Vì vậy, không, bạn không thể lấy MySQL coi NULL như một giá trị duy nhất. Tôi đoán bạn có một số lựa chọn:bạn có thể làm những gì bạn đã đề xuất trong câu hỏi của mình và lưu trữ "giá trị đặc biệt" thay vì null hoặc bạn có thể sử dụng công cụ BDB cho bảng. Tuy nhiên, tôi không nghĩ rằng sự khác biệt nhỏ về hành vi này đảm bảo việc đưa ra lựa chọn bất thường về công cụ lưu trữ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giá trị số ngoài phạm vi:1264 trong mysql

  2. Lọc đầu vào của người dùng

  3. MySQL sẽ không kết nối khi triển khai EC2 với Cao su

  4. Có nhiều hơn một AutoIncrement trên mỗi bảng

  5. Làm thế nào để sắp xếp một truy vấn MySQL theo một cột cụ thể?