Référencement d'une clé primaire multi-colonnes dans MySQL
Lors de l'établissement de relations entre des tables, il est courant de rencontrer des scénarios dans lesquels une clé primaire comprend plusieurs colonnes. Dans MySQL, la création d'une clé étrangère pour une telle table nécessite une approche sur mesure.
Considérez un scénario dans lequel vous disposez d'une table avec la clé primaire suivante :
CREATE TABLE ProductAttributes ( product_id INT NOT NULL, attribute_id INT NOT NULL, PRIMARY KEY (product_id, attribute_id) );
Maintenant, supposons que vous ayez une autre table qui doit référencer la table ProductAttributes. Pour établir une clé étrangère qui relie les deux tables, suivez ces étapes :
CREATE TABLE MyReferencingTable AS ( [COLUMN DEFINITIONS] refcol1 INT NOT NULL, rofcol2 INT NOT NULL, CONSTRAINT fk_mrt_ot FOREIGN KEY (refcol1, refcol2) REFERENCES ProductAttributes(product_id, attribute_id) ) ENGINE=InnoDB;
En spécifiant les colonnes dans la table de référencement et les colonnes correspondantes dans la table de clé primaire, vous créez une contrainte de clé étrangère. Cette contrainte garantit que chaque ligne de la table de référencement a une clé primaire correspondante dans la table de clés primaires.
Considérations :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!