sql >> Database teknologi >  >> RDS >> Mysql

Grundlæggende om fremmednøgler i MySQL?

FOREIGN KEYS Bare sørg for, at dine data er konsistente.

De forbedrer ikke forespørgsler i følelse af effektivitet, de får bare nogle forkerte forespørgsler til at mislykkes.

Hvis du har et forhold som dette:

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

, så kan du ikke slette en department hvis den har en employee s.

Hvis du angiver ON DELETE CASCADE til FOREIGN KEY definition, vil de referencerækker blive slettet automatisk sammen med de refererede.

Som en begrænsning, FOREIGN KEY sænker faktisk forespørgslerne lidt.

Der skal udføres ekstra kontrol, når du sletter fra en refereret tabel eller indsætter i en refererende tabel.



  1. Postgres ENUM datatype eller CHECK CONSTRAINT?

  2. Er det muligt at dræbe en enkelt forespørgsel i oracle uden at dræbe sessionen?

  3. Hvorfor skal du lære PostgreSQL?

  4. SQLite Connection lækket, selvom alt lukkede