Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Czy klucz obcy może odwoływać się do nieunikalnego indeksu?

Z dokumentacji MySQL :

InnoDB umożliwia ograniczeniu klucza obcego odwoływanie się do nieunikalnego klucza. To jest rozszerzenie InnoDB do standardowego SQL.

Istnieje jednak praktyczny powód, aby unikać kluczy obcych w nieunikatowych kolumnach tabeli, do której się odwołuje. To znaczy, jaka powinna być semantyka słowa „ON DELETE CASCADE” w takim przypadku?

Dokumentacja zawiera dalsze wskazówki :

Obsługa odwołań do kluczy obcych do nieunikalnych kluczy lub kluczy zawierających wartości NULL nie jest dobrze zdefiniowana (...) Zaleca się używanie kluczy obcych, które odwołują się tylko do kluczy UNIKATOWYCH (w tym PRIMARY) i NIE 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. Jak zresetować hasło użytkownika root MySQL?

  2. lepsze podejście niż przechowywanie hasła mysql w postaci zwykłego tekstu w pliku konfiguracyjnym?

  3. YEARWEEK() Przykłady – MySQL

  4. Przyznaj MySQL uprawnienia do tabel i kolumn

  5. Jak podłączyć mysql workbench do uruchamiania mysql w dockerze?