Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Select 在触发器中选择值可以为null或实际值的位置_Select_Sqlite_Null_Case - Fatal编程技术网

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