sql >> Databáze >  >> RDS >> Mysql

Může cizí klíč odkazovat na nejedinečný index?

Z dokumentace MySQL :

InnoDB umožňuje omezení cizího klíče odkazovat na nejedinečný klíč. Toto je rozšíření InnoDB ke standardnímu SQL.

Existuje však praktický důvod vyhnout se cizím klíčům v nejedinečných sloupcích odkazované tabulky. To znamená, jaká by v takovém případě měla být sémantika „ON DELETE CASCADE“?

Dokumentace dále doporučuje :

Zpracování odkazů na cizí klíče na nejedinečné klíče nebo klíče, které obsahují hodnoty NULL, není dobře definováno (...) Doporučujeme používat cizí klíče, které odkazují pouze na UNIKÁTNÍ (včetně PRIMÁRNÍHO) a NE na klíče NULL.



  1. Příklad klauzule Oracle Trigger WHEN

  2. SQL Server ekvivalentní zobrazení CREATE OR REPLACE VIEW společnosti Oracle

  3. Jak mohu načíst seznam parametrů z uložené procedury na serveru SQL Server

  4. Nepodařilo se najít funkci převodu z neznámého na text