所以我尝试添加ELSE或将exeception添加到当前规则的条件。我现在在插入触发器之前有这个:
SET new.perfId = (SELECT cust.webId FROM cust where cust.regTime=new.regTime);
我想在该声明中添加一个ELSE,如:
SET new.perfId = (SELECT cust.webId FROM cust where cust.regTime=new.regTime) ELSE blabla
如何在查询顺序中设置它?
谢谢。
答案 0 :(得分:0)
您可以使用COALESCE:
来自文档:
返回列表中的第一个非NULL值,如果没有则返回NULL 非NULL值。
mysql> SELECT COALESCE(NULL,1);
-> 1
mysql> SELECT COALESCE(NULL,NULL,NULL);
-> NULL
你最终会得到:
SET new.perfId = (SELECT COALESCE(cust.webId,"BLABLA")
FROM cust where cust.regTime=new.regTime);
答案 1 :(得分:0)
如果您的意思是,您的条件是select
没有返回null
,则可以使用coalesce()
。
SET new.perfId = COALESCE((SELECT cust.webId FROM cust where cust.regTime=new.regTime), 'blabla');
COALESCE()
会返回其第一个参数,而不是NULL
。