验证键控表是否具有唯一键



如何检查表是否具有唯一键?对于一个关键列,它是有效的:

t:([k1:1 2 3]d:10 20 30);
@[{update `u#k1 from t};`;{"Err: ",x}]

但是如何对多个键列执行相同操作呢?

t:([k1:1 2 2; k2:`a`b`b]d:10 20 30)

以下内容应该有效,假设您正在寻找作为向量的唯一键值,以下内容将给出布尔值"是"或"否">

t:([k1:1 2 2; k2:`a`b`b]d:10 20 30)
{count[x]~count distinct x}  flip value flip key t

如果你问每个关键列是否是唯一的,那么你可以做以下

t:([k1:1 2 2; k2:`a`b`b]d:10 20 30)
@[`u#;flip value flip key t;'"not unique"]

最新更新