mysql触发器创建失败------原因及解决办法

1.检查SQL语句有没有问题

    CREATE TRIGGER trigger_name
    trigger_time
    trigger_event ON tbl_name
    FOR EACH ROW # 固定语句
    begin
      # SQL语句
    end

参数解释:

  1. trigger_name 触发器名

  2. trigger_time 触发器的执行时机(AFTER或者BEFORE)。before就是在sql执行之前,先执行触发器;after相反。

  3. trigger_event 触发器的触发事件(常见的有3种:insert、uodate、delete)

  4. tbl_name 则是触发器要加在哪张表中

  5. begin end之间写程序体,如果仅有1条语句,则可以不用begin end,直接将语句写在后面

例子:

CREATE TRIGGER ins_stu
AFTER INSERT ON student FOR EACH ROW
BEGIN   
   INSERT INTO cj (stu_id,stu_name) 
   VALUES(new.stuid, new.username);
END;

2.加 DELIMITER $$

那通常就是忘了加  DELIMITER $$  我就是这个问题,烦扰了我好久。像下面这样。

DELIMITER $$
CREATE TRIGGER ins_stu
AFTER INSERT ON student FOR EACH ROW
BEGIN   
   INSERT INTO cj (stu_id,stu_name) 
   VALUES(new.stuid, new.username);
END;
$$

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值