Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Kann eine Tabelle mehrere Primärschlüssel haben?

Sie fragen, ob Sie mehr als ein Primärschlüsselfeld haben können und das kannst du ganz sicher. Sie können nur einen Primärschlüssel haben, aber dieser kann aus so vielen Spalten bestehen, wie Sie benötigen, um Ihre Zeilen eindeutig zu identifizieren.

Verwenden Sie etwa Folgendes, wenn Sie Ihre Tabelle erstellen:

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) 

wobei P_Td und LastName sind Spalten in Ihrer Tabelle.

Wenn Sie glauben, dass Sie mehr als einen Primärschlüssel benötigen, lautet die Antwort „eigentlich nicht“. Sie können nur einen Primärschlüssel haben. Sie können jedoch so viele Indizes haben, wie Sie möchten, die eine Eindeutigkeitsbeschränkung haben. Ein eindeutiger Index macht so ziemlich dasselbe wie ein Primärschlüssel.

zum Beispiel:-

CREATE TABLE Persons
(
   P_Id int NOT NULL,
   LastName varchar(255) NOT NULL,
   FirstName varchar(255),
   Address varchar(255),
   City varchar(255),
   CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName)
)

Hinweis :Im obigen Beispiel gibt es nur EINEN PRIMARY KEY (pk_PersonID ). Der Wert der pk_PersonID besteht aus zwei Spalten (P_Id und LastName ).