我有桌名人员,
CREATE TABLE Persons (
P_Id int NOT NULL PRIMARY KEY,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
现在我打算在第2列Lastname上添加主键,所以我尝试了alter command:
ALTER TABLE Persons
ADD CONSTRAINT pk_LastName PRIMARY KEY (LastName)
当我运行alter命令时,我有错误消息:1068定义了多个主键。
你能帮我解决一下这个问题吗?
谢谢, 帕拉尼
答案 0 :(得分:1)
ALTER TABLE `Persons`
CHANGE `LastName` `LastName` VARCHAR(255) CHARSET utf8 COLLATE utf8_danish_ci NOT NULL,
DROP PRIMARY KEY,
ADD PRIMARY KEY (`P_Id`, `LastName`);
答案 1 :(得分:0)
桌面上已有主键。别定义另一个。相反,您可以在这些列上添加唯一约束:
ALTER TABLE Persons ADD CONSTRAINT unq_lastname UNIQUE (LastName);
然而,这似乎很危险,因为不同的人可以使用相同的姓氏。