unique - lsFusion:属性 NULL 的唯一性限制

标签 unique open-source lsfusion

您能告诉我如何为属性添加唯一性限制,以便只能输入一个 NULL 值吗? 在这种情况下,该限制对于 id 的 NULL 值不起作用。 已检查最新版本 4.2 和 5.0。

以下是文档中的示例代码:

CLASS Book 'Book;
id 'Number' = DATA INTEGER (Book);
book 'Book' (INTEGER i) = GROUP AGGR Book b BY id(b);

最佳答案

对于任何类型的GROUP运算符,如果 BY 子句的至少一个值是 NULL,则结果始终为 NULL。因此,GROUP 运算符 AGGR 创建的标准限制不会考虑空 id 值。

在这种情况下要检查多个 NULL 值,您必须创建一个单独的 CONSTRAINT :

CONSTRAINT (GROUP SUM 1 IF b IS Book AND NOT id(b)) > 1
    MESSAGE 'Multiple empty values are not allowed';

关于unique - lsFusion:属性 NULL 的唯一性限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76059414/

相关文章:

c - 在 C 中打印数组的唯一值

php - 如何双重许可我的开源软件?

.net - MS Visual Studio .NET 的替代品

open-source - 在哪里可以找到维基百科/维基词典模板的源代码?

mysql - 跨多个表的唯一键

Python - 元组 - 检索元组列表中的唯一元素

python - 尝试播种 YAML 数据时出现 "value must be an integer"