Mysql中的触发器,用于插入表或其他表

erhoui1w  于 2023-01-16  发布在  Mysql
关注(0)|答案(1)|浏览(181)

你好,我正在尝试创建一个触发器,检查一个JSON中的值,并选择从表插入
这是一个例子

delimiter #
CREATE TRIGGER tetsingschema.testingtirggerjson4 after insert ON tabla2
FOR EACH ROW 
BEGIN
if (NEW.JSON_UNQUOTE(JSON_EXTRACT(nombre, '$.Name')) = 'Bart') then
INSERT INTO tabla3(nombre) values ('insert 1')
ELSE
INSERT INTO tabla2(nombre) values ('insert 2')
END if
INSERT INTO tabla2(nombre) values ('insert 2')
end
delimiter ;

我想知道这是否可能
非常感谢

rjee0c15

rjee0c151#

CREATE TRIGGER tetsingschema.testingtirggerjson4 
after insert ON tabla2
FOR EACH ROW 
BEGIN
-- #1   if (NEW.JSON_UNQUOTE(JSON_EXTRACT(nombre, '$.Name')) = 'Bart') then
    if (JSON_UNQUOTE(JSON_EXTRACT(NEW.nombre, '$.Name')) = 'Bart') then
-- #2       INSERT INTO tabla3(nombre) values ('insert 1')
        INSERT INTO tabla3(nombre) values ('insert 1');
    ELSE
-- #3       INSERT INTO tabla2(nombre) values ('insert 2')
        INSERT INTO tabla3(nombre) values ('insert 2');
-- #4   END if
    END if;
-- #5   INSERT INTO tabla2(nombre) values ('insert 2')
    INSERT INTO tabla3(nombre) values ('insert 3');
end

1 -NEW使用不正确。

2..5 -每个语句必须以;结尾。

3、5 -调试表名和调试消息已修复。

相关问题