Triggers can not be created on system tables
释意即:
"无法在系统表上创建触发器"
FIRST:当你存在这个问题的时候,恭喜你,因为我在网上查询这个问题的时候发现,存在这个问题的人真的很少,解决办法的提供者也很少。
SECOND:如果你是想要在系统上建表,那你可以查看:
https://www.itbaoku.cn/post/1667487/dohttps://www.itbaoku.cn/post/1667487/do
当你查看或者跳过上面的链接的时候
咱们就该进入正文了
(一)查看代码格式时候错误:
create trigger TRIGGER——NAME
after/before insert/update/delete
on 表名
for each row #这个是固定语句不用参考
begin
#sql语句; -- 触发器内容主体,每行用分号结尾
end;
当你发现你的格式没有任何错误的时候,你可以尝试我在网上查到的相关可能错误
(当然,我尝试过这个,但是我的错误不在于这个!!)
即:
delimiter $$ ##
create trigger TRIGGER——NAME
after / before insert/update/delete
on 表名
for each row #这个是固定语句不用参考
begin
#sql语句; -- 触发器内容主体,每行用分号结尾
end; ##
$$ ##
#这串代码与上面的不同就在于含有【 ## 】标记的地方
当你尝试上面的方法都没有解决并且看到现在的时候:
LAST : 我可以告诉你:你可能和我一样犯了一个最简单的错误:
(简单的阐述可能的原因,可看可不看,其实你可以看看毕竟这是我第一篇博客,创作不易)
就是当我们在Navicat中建立自己的连接并打开后你会发现,它自带了几个数据库,而且数据库中含有很多表,没错,那些就是系统表,而且当你在那些自带的数据库中建表的时候,我们的系统也会将那些表认为是系统表。因此系统不允许你在那些表上建立TRIGGER。
说了这么多废话,我其实就只是想告诉你,
你可能就是犯了在系统自带的数据库中建立表格并且开始处理数据;
你只需要重新建立一个自己的数据库然后再尝试创建TRIGGER即可。
【如果还没解决那对不起,我也无能为力,我也只是小白】
【多啰嗦一句就是,本人纯纯小白,文章中有错误的地方,希望大家提出改正,不喜勿碰!!】
【注:上述的网页链接版权归原作者所有】