我有一个带有列名ID的table1,我有一个带有列名ID的table2。表1中的Id列是主键,但在第二个表中它不是,但是我想在table1.ID列中添加一个禁令,不接受table2.ID以外的其他值。这可能吗?如果是这样,如何在SQL Server中完成?
答案 0 :(得分:0)
是的,是...... 你必须建立一对多关系 - FOREIGN KEY约束。
您可以通过制作ALTER语句来完成此操作。如果没有违反约束,可以这样做
答案 1 :(得分:0)
以下是创建外键关系的示例:
create table Table1 (id int primary key)
create table Table2 (id int foreign key references Table1(id))
在数据库设计中,它被称为Table2和Table1之间的“一对多”关系。 Table1中的一行可以与Table2中的许多行相关。 Table1中的一行只能与Table2中的一行相关。
答案 2 :(得分:0)
我想为table1.ID添加一个约束 列不接受其他值 那个table2.ID
表一中的Id列是主要的 键
如果Table2中的ID列被定义为唯一或者是主键,则只能使用外键约束。
这将有效:
create table Table2 (id int unique)
create table Table1 (id int primary key foreign key references Table2(id))
这也有效:
create table Table2 (id int primary key)
create table Table1 (id int primary key foreign key references Table2(id))
这不起作用:
create table Table2 (id int)
create table Table1 (id int primary key foreign key references Table2(id))
答案 3 :(得分:0)
您将第一个表列“ID”称为第二个表的外键。