Triggers can not be created on system tables

Triggers can not be created on system tables

释意即:

"无法在系统表上创建触发器"

FIRST当你存在这个问题的时候,恭喜你,因为我在网上查询这个问题的时候发现,存在这个问题的人真的很少,解决办法的提供者也很少。

SECOND:如果你是想要在系统上建表,那你可以查看:

   https://www.itbaoku.cn/post/1667487/doicon-default.png?t=M4ADhttps://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即可。

【如果还没解决那对不起,我也无能为力,我也只是小白】

【多啰嗦一句就是,本人纯纯小白,文章中有错误的地方,希望大家提出改正,不喜勿碰!!】

【注:上述的网页链接版权归原作者所有】

猜你喜欢

转载自blog.csdn.net/qq_61923405/article/details/124971196