gpt4 book ai didi

sql - 如何在 SQL 中编写允许一系列字符串或空白值的 CHECK 约束?

转载 作者:行者123 更新时间:2023-12-04 13:44:36 25 4
gpt4 key购买 nike

我正在尝试为 SQL 中的一个字段编写一个检查约束,该约束允许一系列字符串(在本例中为省名)或空白值。当前代码是这样的:

ALTER TABLE CODEDLOCATION
ADD CHECK (ADM1='Central' OR ADM1='East' OR ADM1='Far-Western' OR ADM1='Mid-Western' OR ADM1='West')

这适用于 ADM1 字段,但如果新记录中的 ADM1 字段存在空白/空值,则会导致错误。我尝试了以下两个选项,但都不起作用:

ALTER TABLE CODEDLOCATION
ADD CHECK (ADM1='' OR ADM1='Central' OR ADM1='East' OR ADM1='Far-Western' OR ADM1='Mid-Western' OR ADM1='West')

ALTER TABLE CODEDLOCATION
ADD CHECK (ADM1=null OR ADM1='Central' OR ADM1='East' OR ADM1='Far-Western' OR ADM1='Mid-Western' OR ADM1='West')

将 HSQLDB 与 OpenOffice Base 结合使用。谢谢!

附:我在这里使用检查而不是外键约束的原因与使用 OO Base 表单的一些挑战有关...

最佳答案

null 使用 is 运算符而不是 = 运算符求值:

ALTER TABLE CODEDLOCATION
ADD CHECK
(ADM1 IS null OR
ADM1 = 'Central' OR
ADM1 = 'East' OR
ADM1 = 'Far-Western' OR
ADM1 = 'Mid-Western' OR
ADM1 = 'West')

关于sql - 如何在 SQL 中编写允许一系列字符串或空白值的 CHECK 约束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23920332/

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