是否可以为表设置多个主键?
如果可以作为复合键 - 那么它如何与应用程序一起使用?
ADVANTAGES
。?
答案 0 :(得分:4)
不,那是不可能的。
然而:
主键中可以有多个字段。
您还可以为不在主键中的字段添加唯一索引。
答案 1 :(得分:0)
你做不到。表上只能有一个主键(这就是为什么它被称为主键...)。您唯一能做的就是在多列上指定PRIMARY KEY(但这取决于数据库布局:
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)
)
答案 2 :(得分:0)
不,表中不能有多个主键。是的,主键可以包含多个字段,但是,考虑到您的问题,我认为这不是您所需要的。 我不确定你需要什么,但主键有一些你可能在另一个领域寻找的功能:
Unicity:如果您需要在所有记录中具有唯一值的其他字段,则可以应用UNIQUE约束:
ALTER TABLE <table identifier>
ADD [ CONSTRAINT <constraint identifier> ]
UNIQUE ( <column expression> {, <column expression>}... )
速度:如果您经常搜索某个字段,并且需要加快查询速度,则可以向该字段添加索引。
CREATE INDEX <index identifier>
ON <table identifier> (<field name>)