我可以使用数据向现有表添加外键吗?

时间:2016-02-22 14:44:21

标签: 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

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

是否可以在不重新创建表的情况下执行此操作?

1 个答案:

答案 0 :(得分:5)

您可以使用alter table

执行此操作
alter table books add constraint fk_books_authorid
    foreign key (AUthorId) references Authors(ID);