CreatetableRoom_allotment(IdInt,NameVarchar(20),RoomNoInt);QueryOK,0rowsaffected(0.20sec)mysql>DescribeRoom_allotment;+--------+--- - ---------+------+-----+-----"/> CreatetableRoom_allotment(IdInt,NameVarchar(20),RoomNoInt);QueryOK,0rowsaffected(0.20sec)mysql>DescribeRoom_allotment;+--------+--- - ---------+------+-----+-----">

Maison  >  Article  >  base de données  >  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 ?

WBOY
WBOYavant
2023-09-11 10:29:151224parcourir

我们如何在现有 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)

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)

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:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer