Quelque chose comme ça devrait le faire :
CREATE TABLE MyReferencingTable AS (
[COLUMN DEFINITIONS]
refcol1 INT NOT NULL,
rofcol2 INT NOT NULL,
CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2)
REFERENCES OtherTable(col1, col2)
) ENGINE=InnoDB;
- MySQL nécessite que les clés étrangères soient indexées, d'où l'index sur les colonnes de référence
- L'utilisation de la syntaxe de contrainte vous permet de nommer une contrainte, ce qui facilite sa modification et sa suppression ultérieure si nécessaire.
- InnoDB applique les clés étrangères, pas MyISAM. (La syntaxe est analysée mais ignorée)