小编Shr*_*itz的帖子

如何在 SQL Server 中创建与非主键的关系?

我有一个用户表,它有两列一个名为 UserID 的主键和另一个名为 UserName 的列。

  • 用户 ID (int) PK
  • 用户名 (varchar(256)

它们都是独一无二的,但出于某些原因,我决定使用 UserName 作为其他表中的参考。因此,例如订单表通过 UserName 而不是 userid 引用了用户。

  • 订单号
  • 用户名

我想在引用 UserName 和 Users 表的所有表之间创建关系,以便获得 SQL Server 的级联更新/删除功能。

但是 SQL Server 不允许我在非主键列上创建关系。有什么方法可以在不更改用户表的情况下获得级联更新/删除功能,以便 UserName 是主键而不是 UserID?

foreign-key sql-server constraint

8
推荐指数
1
解决办法
1万
查看次数

标签 统计

constraint ×1

foreign-key ×1

sql-server ×1