MySQL错误代码为err[1442]的解决总结_MySQL
程序员文章站
2022-06-16 09:57:15
...
当触发器和存贮过程交互的调用某一个字段的时候会出现这个报错
﹙1﹚ 工具: Navicatfor mysql
﹙2﹚ 错误描述:
1﹚ 在编写考试排名的数据库设计期间,数据库会出现批处理,对该用户不同计算出回答正确数和题目总数的时候,数据库用触发器直接计算出它的正确率
2﹚ 设计完成之后报错为err[1442]
﹙3﹚ 错误解释:
SQLSTATE: HY000 (ER_CANT_UPDATE_USED_TABLE_IN_SF_OR_TRG)消息:由于它已被调用了该存储函数/触发程序的语句使用,不能在存储函数/触发程序 中更新表'%s'。
﹙4﹚ 解决过程
1﹚ 删除触发器.
2﹚ 刷新数据库
3﹚ 重新调用存贮过程即可实现
﹙5﹚ 详细解决说明
1﹚ 该部分错误是调用触发器的同时存贮过程也在使用这个字段,故而出现这个错误
2﹚ 这个存贮过程是要执行多个语句的,当第一部分执行完之后肯定会涉及到该表的改动,那么就会立即触发触发器的操作,触发器会使用该字段.但是存贮过程还没有结束,他 也在继续执行继续使用该字段,故而产生错误
在处理中建议存贮过程实现的功能一体实现,不建议存贮过程+触发器的实现方式.容易产生该错误,并且在后续变更等方面限制会更大,性能也有所影响推荐阅读
-
MySQL错误代码1862 your password has expired的解决方法
-
连接MySQL报错误代码 ERROR 1045时的解决方案
-
MySql插入数据成功但是报[Err] 1055错误的解决方案
-
关于PHP中拿到MySQL中数据中的中文在网页上显示为?的解决办法!
-
MySQL错误代码1862 your password has expired的解决方法
-
mysql数据库ERROR#1442报错问题的解决方法
-
连接MySQL报错误代码 ERROR 1045时的解决方案
-
Mysql更换MyISAM存储引擎为Innodb的操作记录总结
-
MYSQL Workbench的sql窗口显示JSON关键字为非法的解决
-
MYSQL Workbench的sql窗口显示JSON关键字为非法的解决