Shr*_*itz 8 foreign-key sql-server constraint
我有一个用户表,它有两列一个名为 UserID 的主键和另一个名为 UserName 的列。
它们都是独一无二的,但出于某些原因,我决定使用 UserName 作为其他表中的参考。因此,例如订单表通过 UserName 而不是 userid 引用了用户。
我想在引用 UserName 和 Users 表的所有表之间创建关系,以便获得 SQL Server 的级联更新/删除功能。
但是 SQL Server 不允许我在非主键列上创建关系。有什么方法可以在不更改用户表的情况下获得级联更新/删除功能,以便 UserName 是主键而不是 UserID?
Mar*_*ith 13
创建唯一索引或唯一约束,UserName然后您可以在 FK 约束中引用它。
你的声明是
Sql Server 不允许我在非主键列上创建关系
是不正确的。SQL Server 只关心参与 FK 关系的列是否定义了唯一索引。
| 归档时间: |
|
| 查看次数: |
11329 次 |
| 最近记录: |