mysql下创建触发器碰到的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

mysql下创建触发器碰到的问题

2016-02-13 13:40:49 2200 1

数据库存在使用如下语句创建的一个数据表:
create table tb_name (t_id int, t_name varchar(20));
请创建一个触发器,实现无论用户向表中添加什么数据字段,t_name 的内容都是"HelloWorld".
我的mysql语句如下:
`CREATE TRIGGER ins_su BEFORE INSERT ON tb_name FOR EACH ROW
INSERT INTO tb_name SET t_name = "HelloWorld";`
但是在向t_id 插入一个数据时:
INSERT INTO tb_name (t_id) VALUES (1);
报出如下错误:
Can't update table 'tb_name' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
不是太明白错误原因,不知道正确的语句如何写?麻烦哪位高手解释一下

取消 提交回答
全部回答(1)
  • 落地花开啦
    2019-07-17 18:41:56

    你在INSERT的触发器里又执行一个INSERT,那这个INSERT又会触发触发器,所以就死循环了,这样不行。
    另外mysql中,如果一个表在触发器中是不能改变这个表的状态的。
    要改变插入的值,你只要写new.t_name= "HelloWorld" 就行了。

    0 0
相关问答

1

回答

【RDS】RDS MySQL如何终止会话?

2022-01-12 16:17:02 449浏览量 回答数 1

1

回答

RDS MySQL如何终止会话?

2022-01-07 14:15:23 876浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中增量迁移的SQL操作的说明是什么?

2021-12-14 16:09:09 369浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中映射名称更改的说明是什么?

2021-12-14 16:08:29 355浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中同步对象的说明是什么?

2021-12-14 16:08:01 354浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中目标已存在表的处理模式的说明是什么?

2021-12-14 16:07:40 356浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中任务步骤的说明是什么?

2021-12-14 16:07:02 131浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中目标库信息的说明是什么?

2021-12-14 16:06:40 127浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中源库信息的说明是什么?

2021-12-14 16:06:18 128浏览量 回答数 1

1

回答

RDS MySQL迁移至PolarDB-X 2.0中数据库账号的权限要求是什么?

2021-12-14 16:05:51 196浏览量 回答数 1
+关注
落地花开啦
喜欢技术,喜欢努力的人
0
文章
7824
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载