暂无图片
MySQL在创建触发器使用after inert后 进行原表的数据更新报错
我来答
分享
清晨到日暮
2021-06-29
MySQL在创建触发器使用after inert后 进行原表的数据更新报错

MySQL在创建触发器使用after inert后 进行原表的数据更新报错
image.png
Error Code: 1442. Can’t update table ‘user_cost’ in stored function/trigger because it is already used by statement which invoked this stored function/trigger.

我来答
添加附件
收藏
分享
问题补充
1条回答
默认
最新
Cui Hulong

以上这个错误是因为:在一个表user_cost的触发器中不能insert/update/delete这个表user_cost

A stored function or trigger cannot modify a table that is already being used (for reading or writing) by the statement that invoked the function or trigger.
存储的函数或触发器不能修改已被调用函数或触发器的语句使用(用于读写)的表。

https://dev.mysql.com/doc/refman/5.7/en/stored-program-restrictions.html

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql参数化查询 如果参数里面带符号如何解决?
回答 2
看一下你后端框架 是不是转义了。
mysql sql 按date time字段倒序输出 limit 1 会是最新的数据吗?
回答 1
已采纳
如果你入库是按照这个为唯一标准的话是的。否则比如你修改了怎么算?回去改这个吗?这个要考虑好就可以了
mysql in 查询
回答 3
ICP是当你有除了索引以外的筛选条件的时候,innodb层对非索引条件进行筛选。
MHA上有这个报错
回答 2
杀死对应监控集群主库MHA连接的会话(killxxx;)或者重启主库杀死对应监控集群主库MHA连接的会话即可,原理MHA在监控对应实例之前,会发起一个锁请求SELECTGETLOCK('MHAMast
有没有什么方法可以实时检测 mysql 数据库中某个值是否发生改变?
回答 1
触发器?
mysql中的optimize 大表,会导致表无法提供业务,这个有替代方法吗?
回答 1
可以。innodb引擎的表执行optimize时,实际就是执行ALTERTABLExxxFORCE来重建表从而更新统计数据和清理碎片。可以使用ptosc或ghost执行ALTERTABLExxxENG
MYSQL, 如果一个MGR集群整个集群重启(如断电宕机),集群能否自动恢复?
回答 1
已采纳
需要人工介入的。
digest,dumpslow工具如何分析一个时间段的慢日志??
回答 1
在MySQL中,可以使用 ptquerydigest 和 mysqldumpslow 工具来分析特定时间段的慢查询日志。以下是具体步骤:一、使用 pt
以前学mysql经常会用到create database xxxx,但是oracle里好像不需要,为什么oracle不需要create database?
回答 4
你可以简单的理解为Oracle的database就像MySQL的实例一样,你能连进去,数据库已经创建好了。你需要做的是创建用户,同时会自动重建一个schema,这个比较像MySQL的database。
MySQL为什么需要undo log
回答 3
已采纳
undolog有两个作用1、一个用于实现事务ACID中的A用于事务回滚2、一个用于ACID中的I实现MVCCmysql中所有操作是在bufferpool中完成的我们设想一个场景。假如没有undolog