Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване на една от колоните в съставен ключ като външен ключ

Както показва документацията на MySQL за външни ключове :

Така че, ако използвате innodb, MySQL не ви позволява да създадете външен ключ в поле, което не е най-лявото поле в индекс.

Причината е, че в индекс с няколко колони не можете да търсите стойност въз основа на поле, което не е най-лявото, следователно индексът не може да се използва за бързо търсене на стойността за проверка на външен ключ.

Това поведение на MySQL индексите е описано в MySQL документацията на индекси с няколко колони :



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обединяване на таблици в MySql с едно общо поле, но различни стойности за общото поле

  2. Изчислете процентил в MySQL въз основа на общите суми

  3. Проследяване в реално време в google map

  4. SQL CREATE TABLE Синтаксис – Изброени от СУБД

  5. Задаване на двоични данни с помощта на setblob в mysql конектор/c++ причинява срив