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

Може ли външен ключ да препраща към неуникален индекс?

От документация за MySQL :

InnoDB позволява ограничение на външен ключ да препраща към неуникален ключ. Това е разширение на InnoDB към стандартен SQL.

Въпреки това, има практическа причина да се избягват външни ключове в неуникални колони на реферираната таблица. Тоест каква трябва да бъде семантиката на „ON DELETE CASCADE“ в такъв случай?

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

Обработката на препратки към външни ключове към неуникални ключове или ключове, които съдържат стойности NULL, не е добре дефинирана (...) Препоръчваме ви да използвате външни ключове, които препращат само към УНИКАЛНИ (включително ПЪРВИЧНИ) и НЕ NULL ключове.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Връзка между каталог, схема, потребител и екземпляр на базата данни

  2. Как да направя това в Laravel, подзаявка къде в

  3. Как да конвертирате MySQL база данни в UTF-8 кодиране

  4. JSON_CONTAINS() Примери в MySQL

  5. Производителност на MySQL:Как да използваме индексирането на базата данни на MySQL