Maison > Article > base de données > Comment utiliser la clé primaire comme référence externe à diverses tables dans MySQL ?
Ci-dessous la syntaxe -
alter table yourSecondTableName add constraint `yourConstraintName` foreign key(`yourSecondTableNamePrimaryKey`) references yourFirstTableName(yourFirstTablePrimaryKeyColumnName);
Pour comprendre la syntaxe ci-dessus, créons d'abord une table -
mysql> create table demo65 −> ( −> id int not null primary key, −> name varchar(20) −> ); Query OK, 0 rows affected (0.57 sec)
Voici la requête pour créer la deuxième table -
mysql> create table demo66 −> ( −> user_id int not null primary key, −> address varchar(200) −> ); Query OK, 0 rows affected (1.80 sec)
Ci-dessous la requête pour référencer la table principale clé comme clé étrangère -
mysql> alter table demo66 −> add constraint `id_fk` −> foreign key(`user_id`) −> references demo65(id); Query OK, 0 rows affected (3.76 sec) Records: 0 Duplicates: 0 Warnings: 0
Vérifions la description globale de la table à l'aide de la commande SHOW CREATE TABLE. Vous trouverez ci-dessous la requête -
mysql> show create table demo66;
qui produira le résultat suivant -
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | demo66 | CREATE TABLE `demo66` ( `user_id` int NOT NULL, `address` varchar(200) DEFAULT NULL, PRIMARY KEY (`user_id`), CONSTRAINT `id_fk` FOREIGN KEY (`user_id`) REFERENCES `demo65` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci | +--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
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!