sql >> Base de Datos >  >> RDS >> Mysql

¿Conceptos básicos de claves foráneas en MySQL?

FOREIGN KEYS solo asegúrese de que sus datos sean consistentes.

No mejoran las consultas en términos de eficiencia, solo hacen que algunas consultas incorrectas fallen.

Si tienes una relación como esta:

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

, entonces no puede eliminar un department si tiene algún employee 's.

Si proporciona ON DELETE CASCADE a la FOREIGN KEY definición, las filas de referencia se eliminarán automáticamente junto con las referenciadas.

Como restricción, FOREIGN KEY en realidad ralentiza un poco las consultas.

Se debe realizar una verificación adicional al eliminar de una tabla de referencia o al insertar en una de referencia.