我可以使用相同的触发器进行插入和更新吗?

时间:2017-08-19 12:20:04

标签: mysql triggers

goods_input_total_amount-updateon-goods_input

语法适用于“插入前”触发器,但我收到此错误消息:

  

错误代码:1064您的SQL语法出错;检查   手册,对应右边的MySQL服务器版本   在'TRIGGER附近使用的语法   $section在更新之前       在第3行打开'gy'

1 个答案:

答案 0 :(得分:0)

MySQL中没有

CREATE OR REPLACE TRIGGER

尝试

DELIMITER $$

CREATE 
    TRIGGER `goods_input_total_amount-updateon-goods_input` BEFORE UPDATE
    ON `gym`.`goods_input`
    FOR EACH ROW BEGIN
DECLARE input_price INTEGER; /*use whatever datatype you have in your db for the price */
        SELECT price_goods_input_price INTO input_price FROM goods_input_price
        WHERE id_goods_input_price=NEW.id_goods_input_price LIMIT 1;
        SET new.goods_input_total_amount=new.goods_input_quantity*input_price;
    END$$

DELIMITER ;

如果要删除现有的TRIGGER,请使用

DROP TRIGGER IF EXISTS Trigger_name

create trigger代码之前