在 SQL Server 中建立外键约束
维护数据完整性在任何数据库系统中都至关重要。 SQL Server 提供了使用外键约束强制表之间关系的能力。但是,声明外键与 PostgreSQL 等其他数据库管理系统不同。
语法和注意事项
以下是如何在 SQL Server 中创建外键:
ALTER TABLE <child_table> ADD CONSTRAINT <constraint_name> FOREIGN KEY (<child_column>) REFERENCES <parent_table>(<parent_column>)
确保子表中引用的列数与父表中引用的列数匹配 桌子。否则,您将遇到类似于以下内容的错误:
Msg 8139, Level 16, State 0, Line 9 Number of referencing columns in foreign key differs from number of referenced columns, table 'question_bank'.
故障排除:语法不正确
提供的用于创建 Question_bank 表的 SQL 代码有错误。 Question_bank 表中的 Question_exam_id 列应引用 exam 表中的 exam_id 列。
create table question_bank ( question_id uniqueidentifier primary key, question_exam_id uniqueidentifier not null, <!-- This should be a foreign key --> question_text varchar(1024) not null, question_point_value decimal, constraint question_exam_id foreign key references exams(exam_id) );
备用语法:稍后添加约束
您还可以创建外键使用 ALTER TABLE 创建子表后的约束语句:
alter table question_bank add constraint question_exam_id_fk foreign key (question_exam_id) references exams(exam_id)
此方法允许您与表创建分开定义约束,从而提供更大的灵活性和对数据库架构的控制。
以上是如何在SQL Server中建立外键约束?的详细内容。更多信息请关注PHP中文网其他相关文章!