sql >> Database >  >> RDS >> Mysql

Kan een tabel meerdere primaire sleutels hebben?

U vraagt ​​of u meer dan één primaire sleutel veld mag hebben en dat kan je zeker. U kunt slechts één primaire sleutel hebben, maar die kan uit zoveel kolommen bestaan ​​als u nodig hebt om uw rijen uniek te identificeren.

Gebruik zoiets als dit wanneer u uw tabel maakt:

CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) 

waar P_Td en LastName zijn kolommen in uw tabel.

Als u denkt dat u meer dan één primaire sleutel wilt, dan is het antwoord "niet echt". U kunt slechts één primaire sleutel hebben. U kunt echter zoveel indexen hebben als u wilt met een unieke beperking. Een unieke index doet vrijwel hetzelfde als een primaire sleutel.

bijvoorbeeld:-

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

Opmerking :In het bovenstaande voorbeeld is er slechts EEN PRIMAIRE SLEUTEL (pk_PersonID ). De waarde van de pk_PersonID bestaat uit twee kolommen (P_Id en LastName ).



  1. SQL tussen operator

  2. Hoe stel ik Collation in MySQL-database in met Django 2.* mysqlclient?

  3. Datums reserveringssysteem

  4. Ongeldige datetime-notatie:1292 Onjuiste datetime-waarde