Maison  >  Article  >  base de données  >  Comment définir PRIMARY KEY sur plusieurs colonnes d'une table MySQL ?

Comment définir PRIMARY KEY sur plusieurs colonnes d'une table MySQL ?

PHPz
PHPzavant
2023-08-29 11:37:021371parcourir

如何在 MySQL 表的多个列上设置 PRIMARY KEY?

En fait, MySQL nous permet de définir PRIMARY KEY sur plusieurs colonnes. L’avantage est que nous pouvons gérer plusieurs colonnes comme une seule entité.

Exemple

Nous créons une distribution de table en définissant une clé primaire composite sur plusieurs colonnes comme indiqué ci-dessous -

mysql> Create table allotment(
   RollNo Int, Name Varchar(20), RoomNo Int, PRIMARY KEY(RollNo, RoomNo));
Query OK, 0 rows affected (0.23 sec)

mysql> Describe allotment;

+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| RollNo | int(11)     | NO   | PRI | 0       |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
| RoomNo | int(11)     | NO   | PRI | 0       |       |
+--------+-------------+------+-----+---------+-------+

3 rows in set (0.10 sec)

Maintenant, lorsque nous essayons d'insérer des valeurs composées en double dans deux colonnes, MySQL renvoie l'erreur suivante -

mysql> Insert Into allotment values(1, 'Aarav', 201),(2,'Harshit',201),(1,'Rahul ',201);
ERROR 1062 (23000): Duplicate entry '1-201' for key 'PRIMARY'

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