未创建mysql触发器并给出语法错误

dbf7pr2w  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(226)

我想创建一个触发器,在insert打印出一条语句后,下面是代码:

CREATE TRIGGER myTrig after insert on adventureworks.salesterritory
    for each row 
BEGIN
     select 'INSERT IS NOT ALLOWED. YOU NEED APPROVAL';      
END

但它不断得到我的语法错误,我需要把分号后 select 'INSERT IS NOT ALLOWED. YOU NEED APPROVAL'; 尽管它已经有了。有什么建议可以解决吗?

i7uq4tfw

i7uq4tfw1#

你需要使用 ; 内部 CREATE TRIGGER ,但同时 ; 作为sql命令分隔符有意义。
解决这个问题的方法通常是将分隔符改成其他的,比如 $$ :

DELIMITER $$
CREATE TRIGGER myTrig after insert on adventureworks.salesterritory
    for each row 
BEGIN
     select 'INSERT IS NOT ALLOWED. YOU NEED APPROVAL';      
END$$
DELIMITER ;

然后换回 ;

相关问题