1.检查SQL语句有没有问题
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW # 固定语句
begin
# SQL语句
end
参数解释:
-
trigger_name 触发器名
-
trigger_time 触发器的执行时机(AFTER或者BEFORE)。before就是在sql执行之前,先执行触发器;after相反。
-
trigger_event 触发器的触发事件(常见的有3种:insert、uodate、delete)
-
tbl_name 则是触发器要加在哪张表中
-
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;
$$
最后
以上就是淡定高跟鞋最近收集整理的关于mysql触发器创建失败------原因及解决办法1.检查SQL语句有没有问题2.加 DELIMITER $$的全部内容,更多相关mysql触发器创建失败------原因及解决办法1.检查SQL语句有没有问题2.加 DELIMITER内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复