验证键表是否具有唯一键

问题描述

如何检查表是否具有唯一键? 对于一个键列,它的工作原理是:

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"]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...