Select 在触发器中选择值可以为null或实际值的位置
比如说Select 在触发器中选择值可以为null或实际值的位置,select,sqlite,null,case,Select,Sqlite,Null,Case,比如说 TypeID = Select ID From Types Where Type = new.Type new.Type可以是值,也可以是null,当前如果为null,则找不到匹配项,否则会找到 我试过了 TypeID = Select ID From Types Where CASE When new.Type is null Then Type I
TypeID = Select ID
From Types
Where Type = new.Type
new.Type可以是值,也可以是null,当前如果为null,则找不到匹配项,否则会找到
我试过了
TypeID = Select ID
From Types
Where
CASE
When new.Type is null Then Type Is Null
When new.Type is Not Null Then Type = new.Type
END
但它给了我一个语法错误
我在想我能做什么
TypeID = Select ID
From Types
Where Type = new.Type OR Type IS Null
但在某些情况下,这会返回不需要的结果,例如当new.Type不在Types表中时,我希望它返回一个错误,而不是返回Null的ID。在SQLite中,
is
操作符也可以比较“正常”值,所以只需编写:
TypeID = Select ID
From Types
Where Type IS new.Type