mysql 触发器进行if 判断
时间: 2023-11-16 12:48:12 浏览: 175
在MySQL触发器中进行if判断可以使用IF语句或者CASE语句来实现。IF语句的基本语法是:
IF condition THEN
statements;
ELSEIF condition THEN
statements;
ELSE
statements;
END IF;
其中,condition是一个条件表达式,statements是一组需要执行的SQL语句。
例如,对于你提供的第一个引用中的触发器内容,可以使用IF语句进行判断:
BEGIN
DECLARE user_name VARCHAR(20);
DECLARE user_age INT;
IF (NEW.name='张三' && OLD.userAge>18) THEN
SELECT name, age INTO user_name, user_age FROM extra_info WHERE user_id = NEW.id;
INSERT into user_form (id,name,age,sex) values (null,user_name,user_age,new.sex);
ELSE
...
END IF;
END;
还可以使用CASE语句进行条件判断,例如:
BEGIN
DECLARE user_name VARCHAR(20);
DECLARE user_age INT;
SET user_name = new.name;
CASE
WHEN (NEW.name='张三' && OLD.age>18) THEN
INSERT into user_form (id,name,age,sex) values (null,user_name,user_age,new.sex);
ELSE
...
END CASE;
END;
请注意,在使用IF语句或者CASE语句时,需要根据具体的逻辑和条件进行编写。
阅读全文