如何在sql server中设置外键
创建主键表的查询是如何在sql server中设置外键,sql,sql-server,Sql,Sql Server,创建主键表的查询是 create table Users ( Id int identity (3000, 1), UserId as '08U1'+right('0000'+cast(Id as varchar(5)), 5) persisted, UserName varchar(50), LastName varchar(50), Location varchar(50), constraint PK_Users primary key (U
create table Users
(
Id int identity (3000, 1),
UserId as '08U1'+right('0000'+cast(Id as varchar(5)), 5) persisted,
UserName varchar(50),
LastName varchar(50),
Location varchar(50),
constraint PK_Users primary key (UserId)
)
参考表是
create table addre
(
Ids int,
address varchar(50),
)
我想将用户表中的用户ID主键设置为参考表地址列ID作为外键如何设置。我知道相同的数据类型只用于设置外键。在此处,如何设置ID的数据类型 将UserID更改为此
UserId as CAST('08U1'+right('0000'+cast(Id as varchar(5)), 5) AS char(9)) persisted
因此,
char(9)
是您所需要的数据类型,无论您想以何种方式使用它我根本不确定您想做什么。您是否可以添加一些示例数据(对于两个表),其中显示一些应使用外键的行,以及至少一个应被外键拒绝的行?为什么不将addre表中列ID的数据类型更改为varchar?您不是指tableaddr
referencesUsers
?也就是说,addr
具有指向Users的外键
已创建的外键,但它不在IdsA中存储UserId的值。外键不会自动填充。使用示例SQL和数据询问另一个问题