Maison > base de données > tutoriel mysql > le corps du texte

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

PHPz
Libérer: 2023-08-29 11:37:02
avant
1375 Les gens l'ont consulté

如何在 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)
Copier après la connexion

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'
Copier après la connexion

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!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal