我可以只在数据库中使用外键而不是主键吗?

时间:2015-03-25 12:38:56

标签: database

我在想,我可以在列中没有主键吗? 例如,像这个查询:

create table EXAMPLE1(
id int identity(1,1),
username varchar(20),
password varchar(20)
CONSTRAINT fk_id FOREIGN KEY(id)
REFERENCES EXAMPLE0(id)
)

1 个答案:

答案 0 :(得分:0)

如果您有唯一索引,则可以在外键中使用它的字段。它不一定是主键。 编辑:这个结构可能是一个解决方案:

create table employee(
    id int identity primary key not null, name varchar(50)
)
create table account(
    employeeId int, accountId int
    CONSTRAINT fk_employeeId FOREIGN KEY(employeeId) REFERENCES employee(id)
)

这样您就可以手动管理accountId字段。当客户添加新帐户时,您应该相应地增加accountId。