sql >> Database >  >> RDS >> Mysql

Basisprincipes van buitenlandse sleutels in MySQL?

FOREIGN KEYS zorg er gewoon voor dat uw gegevens consistent zijn.

Ze verbeteren de zoekopdrachten niet in termen van efficiëntie, ze zorgen ervoor dat sommige verkeerde zoekopdrachten mislukken.

Als je zo'n relatie hebt:

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))

, dan kunt u een department niet verwijderen als het een employee . heeft 's.

Als u ON DELETE CASCADE aanlevert naar de FOREIGN KEY definitie, worden de verwijzende rijen automatisch verwijderd samen met de rijen waarnaar wordt verwezen.

Als beperking, FOREIGN KEY vertraagt ​​​​de zoekopdrachten eigenlijk een beetje.

Er moet extra controle worden uitgevoerd bij het verwijderen uit een tabel waarnaar wordt verwezen of bij het invoegen in een tabel waarnaar wordt verwezen.



  1. Geavanceerde partitie-matching voor partitiegewijze join

  2. hoe saldi in een boekhoudsoftware te berekenen met behulp van de postgres-vensterfunctie

  3. Hoe de recursieve SELECT-query in MySQL te doen?

  4. Terugkeren van een functie met OUT-parameter