Sql 我可以将外键添加到已有的包含数据的表中吗?

Sql 我可以将外键添加到已有的包含数据的表中吗?,sql,sql-server,sql-server-2008-r2,Sql,Sql Server,Sql Server 2008 R2,我想知道是否可以将外键添加到已存在的表中,其中包含记录 表结构和其中的数据目前看起来如下所示: 图书目录: ID | BookName | BookCode | BookEdition | AuthorID 1 | Name1 | Code1 | 1 | 1 2 | Name1 | Code1 | 2 | 2 作者表: ID | AuthorName 1 | Name1 2 | Name2 基本上,我想

我想知道是否可以将外键添加到已存在的表中,其中包含记录

表结构和其中的数据目前看起来如下所示:

图书目录:

ID | BookName | BookCode | BookEdition | AuthorID
1  |  Name1   |   Code1  |     1       |    1
2  |  Name1   |   Code1  |     2       |    2
作者表:

ID | AuthorName
1  |  Name1 
2  |  Name2
基本上,我想基于
AuthorID
添加两个表的链接,问题是列中已经有数据,如上面的示例所示,但是这些ID是正确的,它们也存在于
Authors
表中


无需重新创建表格即可完成此操作吗?

您可以使用
更改表格来完成此操作:

alter table books add constraint fk_books_authorid
    foreign key (AUthorId) references Authors(ID);

您可以使用
altertable
执行此操作:

alter table books add constraint fk_books_authorid
    foreign key (AUthorId) references Authors(ID);

你试过了吗?当然,当存在数据时,您可以添加外键…假设您没有任何违反新约束的值。您尝试过吗?当然,当存在数据时,您可以添加外键……假设您没有任何违反新约束的值。