Heim >Datenbank >MySQL-Tutorial >Wie lege ich PRIMARY KEY auf mehrere Spalten einer MySQL-Tabelle fest?

Wie lege ich PRIMARY KEY auf mehrere Spalten einer MySQL-Tabelle fest?

PHPz
PHPznach vorne
2023-08-29 11:37:021401Durchsuche

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

Tatsächlich erlaubt uns MySQL, PRIMARY KEY für mehrere Spalten festzulegen. Dies hat den Vorteil, dass wir mehrere Spalten als eine Einheit verarbeiten können.

Beispiel

Wir erstellen eine Tabellenverteilung, indem wir einen zusammengesetzten Primärschlüssel für mehrere Spalten definieren, wie unten gezeigt -

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)

Wenn wir nun versuchen, doppelte zusammengesetzte Werte in zwei Spalten einzufügen, gibt MySQL den folgenden Fehler aus -

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

Das obige ist der detaillierte Inhalt vonWie lege ich PRIMARY KEY auf mehrere Spalten einer MySQL-Tabelle fest?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen