引用数据表引用完整性

时间:2016-06-04 13:29:55

标签: c# sql-server database

我有一些参考表,即AuditType,StatusType等。这些表包含标准的ENUM数据。我的意图是每次部署数据库更改时重建这些表的数据,即这些表未启用标识。

但是,这些表可以与某些其他事务表具有外键关系。 问题是,当我尝试重建那些(引用)表中的数据时,我不能删除已经引用的数据。

在事务表中使用外键关系是否正确?如果不是我怎么能处理这种情况?

提前致谢。

1 个答案:

答案 0 :(得分:2)

您似乎向后引用了外键引用 - 或者至少向后描述它们。事务表应该使用主键对引用表进行外键引用。

您应该在创建数据库时填充这些表,然后使用insertdelete进行更改。

一旦外键到位,数据库将强制执行关系完整性。这通常意味着数据库验证事务表中的值是否引用了正确的行。这是一件好事。它是数据库ACID属性中的“C”。

因此,如果您想进行更改,请不要删除那里的数据。使用insert添加新行。