0
我想创建一个表称为配置文件ID计算列,但是当我试试这个:SQL - 只有UNIQUE或PRIMARY KEY约束可以对计算列创建
CREATE TABLE Profiles
(
[id] [int] IDENTITY(1,1) NOT NULL,
[profileID] AS ((id * 19379 - 62327) % 99991) NOT NULL
)
然而,当我转到创建,我得到这个错误:
Only UNIQUE or PRIMARY KEY constraints can be created on computed columns, while CHECK, FOREIGN KEY, and NOT NULL constraints require that computed columns be persisted.
我试图在配置文件ID线调整到这个
[profileID] as ((id * 19379 - 62327) % 99991) NOT NULL UNIQUE
乙我仍然得到同样的错误。
仅供参考我有另一列称为id和它的主键,是唯一的和auto_incremented。
错误消息是非常明确的 - 你只能使用计算列上的唯一或主键约束。除非持续存在,否则不能创建带有“非空”约束的计算列。 但是,在你的情况下,这不应该是一个问题,因为你的计算是基于硬编码值和非空列,所以计算结果不能为空。 –
您必须删除“NOT NULL”或使计算列保持不变。这是错误消息基本上所说的。 –
我如何解决它@ZoharPeled – user979331