Maison > base de données > tutoriel mysql > Comment pouvons-nous définir PRIMARY KEY sur plusieurs colonnes d'une table MySQL existante ?

Comment pouvons-nous définir PRIMARY KEY sur plusieurs colonnes d'une table MySQL existante ?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2023-09-11 10:29:15
avant
1312 Les gens l'ont consulté

我们如何在现有 MySQL 表的多个列上设置 PRIMARY KEY?

Nous pouvons définir des contraintes PRIMARY KEY sur plusieurs colonnes d'une table existante en utilisant le mot-clé ADD et l'instruction ALTER TABLE.

Exemple

Supposons que nous ayons une table "Room_allotment" comme suit-

mysql> Create table Room_allotment(Id Int, Name Varchar(20), RoomNo Int);
Query OK, 0 rows affected (0.20 sec)

mysql> Describe Room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Id     | int(11)     | YES  |     | NULL    |       |
| Name   | varchar(20) | YES  |     | NULL    |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.11 sec)
Copier après la connexion

Maintenant, nous pouvons ajouter une clé primaire composite sur plusieurs colonnes "id" et "Name" en utilisant la requête suivante

mysql> Alter Table Room_allotment ADD PRIMARY KEY(Id, Name);
Query OK, 0 rows affected (0.29 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> Describe Room_allotment;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Id     | int(11)     | NO   | PRI | 0       |       |
| Name   | varchar(20) | NO   | PRI |         |       |
| RoomNo | int(11)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
3 rows in set (0.12 sec)
Copier après la connexion

Comme on peut le voir ci-dessus ensemble de résultats, PRIMARY KEY est ajouté à plusieurs colonnes.

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 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