Comprenons comment utiliser les clés étrangères dans MySQL −
Les tables InnoDB prennent en charge la vérification des contraintes de clé étrangère. Aucune contrainte de clé étrangère n'est requise pour joindre les deux tables. Il peut être utilisé lors de la définition des colonnes à utiliser, pour les moteurs de stockage autres qu'InnoDB. REFERENCES tableName(colName) n'a aucun effet pratique autre que d'annoter à l'utilisateur que la colonne en cours de définition est destinée à référencer une colonne dans une table différente.
MySQL ne vérifie pas que 'colName' existe réellement dans 'tableName', ou que 'tableName' lui-même existe réellement.
Dans la table parent, la clé étrangère fera office de clé primaire. Voyons un exemple de création d'un tableau.
mysql> create table StudentEnrollment −> ( −> StudentId int, −> StudentName varchar(200), −> StudentFKPK int −> ); Query OK, 0 rows affected (0.91 sec)
mysql> create table College −> ( −> StudentFKPK int, −> CourseId int, −> CourseName varchar(200), −> CollegeName varchar(200), −> primary key(StudentFKPK) −> ); Query OK, 0 rows affected (0.46 sec)
Dans la table parent, la colonne « StudentFKPK » est une clé primaire. Nous utiliserons la commande ALTER pour ajouter une clé étrangère.
Voici la syntaxe pour ajouter des clés étrangères.
ALTER table yourChildTableName add constraint anyConstraintName foreign key(primary key column name for parent table) references College(primary key column name for parent table);
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!