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

Sử dụng một trong các cột trong khóa tổng hợp làm khóa ngoại

Như tài liệu MySQL trên các khóa ngoại chỉ ra :

Vì vậy, nếu bạn sử dụng innodb, thì MySQL không cho phép bạn tạo khóa ngoại trên một trường không phải là trường ngoài cùng bên trái trong chỉ mục.

Lý do là trong chỉ mục nhiều cột, bạn không thể tra cứu giá trị dựa trên trường không phải là trường bên trái nhất, do đó chỉ mục không thể được sử dụng để nhanh chóng tra cứu giá trị cho việc kiểm tra khóa ngoại.

Hành vi này của chỉ mục MySQL được mô tả trong tài liệu MySQL trên chỉ mục nhiều cột :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tách nội dung MySQL qua PHP trên cơ sở tùy chọn quốc gia / người dùng

  2. Làm thế nào để in bản ghi từ cơ sở dữ liệu khi người dùng chọn các tùy chọn từ menu thả xuống? chương trình động

  3. Mã API đầu tiên của bạn với Node.js và Express:Kết nối cơ sở dữ liệu

  4. Làm thế nào để thêm ảnh trong cơ sở dữ liệu mysql bằng php?

  5. Lưu trữ biến $ date vào cơ sở dữ liệu mysql bằng php