sql >> Databasteknik >  >> RDS >> Mysql

Grunderna för främmande nycklar i MySQL?

FOREIGN KEYS Se bara till att dina data är konsekventa.

De förbättrar inte frågor i känsla av effektivitet, de gör bara att vissa felaktiga frågor misslyckas.

Om du har ett förhållande som detta:

CREATE TABLE department (id INT NOT NULL)
CREATE TABLE employee (id INT NOT NULL, dept_id INT NOT NULL, FOREIGN KEY (dept_id) REFERENCES department(id))

, då kan du inte ta bort en department om den har någon employee s.

Om du anger ON DELETE CASCADE till FOREIGN KEY definition, kommer referensraderna att raderas automatiskt tillsammans med de refererade.

Som en begränsning, FOREIGN KEY saktar faktiskt ner frågorna lite.

Extra kontroll måste utföras när du tar bort från en refererad tabell eller infogar i en referenstabell.



  1. Få toppresultat för varje grupp (i Oracle)

  2. Skillnad mellan Oracles plus (+) notation och ansi JOIN notation?

  3. Importera filstorleksgräns i PHPMyAdmin

  4. Hur man kör SHOW LOCALES i MariaDB