gpt4 book ai didi

sql - 具有空组件的复合ID的唯一性

转载 作者:行者123 更新时间:2023-12-02 14:38:36 25 4
gpt4 key购买 nike

我在使用唯一约束时遇到了问题。
允许以下组合

A.name  B.name
foo NULL
foo bar
foo bar1
foo1 bar

仅当其具有不同的B时,才应该不能创建具有相同名称的新A。
通过以下约束,可以创建
A.name B.name
foo NULL
foo NULL

因为NULL似乎对唯一性没有影响。

任何提示如何解决此问题?
class A {
String name
static belongsTo = [b:B]
static constraints = {
name(unique:'b')
b(nullable:true)
}
}

class B {
String name
static hasMany = [as:A]
name(unique:true)
}

最佳答案

在数据库结构中,是否可以将列设置为NOT NULL DEFAULT 0或类似名称,然后将零与对待NULL相同,否则将为NULL?由于该列用于名称,因此值中可能总没有数字对吗?

关于sql - 具有空组件的复合ID的唯一性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3451084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com