Maison  >  Article  >  base de données  >  Utiliser des clés étrangères dans MySQL

Utiliser des clés étrangères dans MySQL

王林
王林avant
2023-08-31 11:37:021347parcourir

在 MySQL 中使用外键

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.

Créer une table enfant

mysql> create table StudentEnrollment
−> (
   −> StudentId int,
   −> StudentName varchar(200),
   −> StudentFKPK int
−> );
Query OK, 0 rows affected (0.91 sec)

Créer une table parent

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.

Syntaxe

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer