我是新手,似乎找不到类似的情况,我相信答案很简单。
我有两列,一列是预定义的licenseplate(“licenseplate”),另一列是用户输入的licenseplate(“enterlicenseplate”)。
我做了第三列,这将是一种错误检查列,它的值将由触发器输入。基本上,如果输入的车牌与预定义的车牌相同,则将第三列设置为0,如果输入的车牌为空(尚未输入任何内容)(将其设置为1,如果两者中都有值且不匹配,则将其设置为2)。但我总是会遇到脚本错误。不知道这是我的语法,还是我把这一切都搞错了。
谢谢你的帮助!
CREATE TRIGGER MatchPlateOnUPDATE
BEFORE UPDATE ON wp_wpdatable_3
FOR EACH ROW
BEGIN
IF (NEW.enterlicenseplate is NULL) THEN
UPDATE wp_wpdatatable_3
SET MatchingPlates = 0;
ELSEIF (NEW.enterlicensplate = New.licenseplate) THEN
UPDATE wp_Wpdatatable_3
SET MatchingPlates = 1;
ELSE UPDATE wp_Wpdatatable_3
SET MatchingPlates = 2;
END
1条答案
按热度按时间ocebsuys1#
你的问题是
if
声明是你错过了结束语end if;
.但还有更多的问题:触发器不能对它所触发的表进行操作——即使可以,查询也基本上会更新表中的所有行,因为
update
我们没有where
条款。在这里,您只需要修改列的值
matchingPlates
在即将插入的记录中: