Sintaxis para añadir una clave foránea en MySQL
MySQL permite trabajar con distintos tipos de motores de almacenamiento (MyIsam, Memory/HEAP, BDB, InnoDB, etc). Para poder trabajar con claves foráneas las tablas deben tener asignado el motor InnoDB.
Se han de cumplir ciertas condiciones para poder crear un enlace de este tipo entre distintas tablas:
En esta instrucción SQL se modifica la tabla1 para añadirle una clave foránea al campotabla1 indicándole a que tabla y campo hace referencia.
ALTER TABLE tabla1ADD CONSTRAINT nombreclaveforaneaFOREIGN KEY (campotabla1)REFERENCES tablaquereferencia (campoquereferencia)ON DELETE NO ACTIONON UPDATE NO ACTION;
ALTER TABLE nombretabla DROP FOREIGN KEY nombre_clave_foranea;