Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Uma tabela pode ter várias chaves primárias?


Você pergunta se pode ter mais de um campo de chave primária e você certamente pode. Você pode ter apenas uma chave primária, mas pode consistir em quantas colunas forem necessárias para identificar exclusivamente suas linhas.

Use algo assim quando estiver criando sua tabela:
CONSTRAINT pk_PersonID PRIMARY KEY (P_Id,LastName) 

onde P_Td e LastName são colunas em sua tabela.

Se você acha que deseja mais de uma chave primária, a resposta é "na verdade não". Você pode ter apenas uma chave primária. No entanto, você pode ter quantos índices desejar que tenham uma restrição exclusiva sobre eles. Um índice exclusivo faz praticamente a mesma coisa que uma chave primária.

por exemplo :-
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)
)

Observação :No exemplo acima existe apenas UMA CHAVE PRIMÁRIA (pk_PersonID ). No entanto, o valor do pk_PersonID é composto por duas colunas (P_Id e LastName ).