触发不使用MySql

问题描述 投票:0回答:1

我写了这段代码:

CREATE TRIGGER testT BEFORE INSERT ON test3 
FOR EACH ROW 
IF NEW.a> NEW.b
THEN NEW.a=0

在mysql和表test3(a,b)中

我想要的是如果用户在测试3中插入a和b并且a> b然后a变为0我应该如何写这个?因为目前这段代码不起作用并且我得到MySQL说:

。#1064 - 您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以便在第2行的“.a = 0”附近使用正确的语法

mysql sql triggers
1个回答
2
投票

这不是触发器的有效语法,你忘了使用SET。试试这个:

CREATE TRIGGER testT 
BEFORE INSERT ON test3 
FOR EACH ROW 
 IF NEW.a> NEW.b
  THEN SET NEW.a=0;
 END IF;
© www.soinside.com 2019 - 2024. All rights reserved.