Owe*_*wen 3 sql ddl hsqldb check-constraint
我正在尝试为SQL中的字段编写检查约束,该字段允许一系列字符串(在本例中为省名)或空值.目前的代码是这样的:
ALTER TABLE CODEDLOCATION
ADD CHECK (ADM1='Central' OR ADM1='East' OR ADM1='Far-Western' OR ADM1='Mid-Western' OR ADM1='West')
Run Code Online (Sandbox Code Playgroud)
这适用于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')
Run Code Online (Sandbox Code Playgroud)
将HSQLDB与OpenOffice Base一起使用.谢谢!
PS我在这里使用检查而不是外键约束的原因与使用OO Base表单的一些挑战有关...
null
s由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')
Run Code Online (Sandbox Code Playgroud)