首页  >  文章  >  数据库  >  MySQL 触发器错误_MySQL

MySQL 触发器错误_MySQL

WBOY
WBOY原创
2016-06-01 13:44:461327浏览

比特网

使用Spring jdbctemplate时出错:

 

 

view sourceprint?01 org.springframework.jdbc.UncategorizedSQLException:PreparedStatementCallback; SQL 的未分类 SQLException [插入 t_data(id,content,status,type,r_id) 值(?,?,?,?,?)]; SQL状态[HY000];错误代码[1442];无法更新存储函数/触发器中的表“t_data”,因为它已被调用此存储函数/触发器的语句使用。;嵌套异常是 java.sql.SQLException:无法更新存储函数/触发器中的表“t_data”,因为它已被调用此存储函数/触发器的语句使用。 

 

02 org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.translate(SQLStateSQLExceptionTranslator.java:124) 

 

03   

04 java.sql.SQLException:无法更新存储函数/触发器中的表“t_data”,因为它已被调用此存储函数/触发器的语句使用。 

 

05 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) 

 

06 com.mysql.jdbc.SQLError。 createSQLException(SQLError.java:956) 

 

07 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) 

 

08 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) 

 

09 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) 

 

10 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) 

 

11 com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java :2542) 

 

12 com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) 

 

13 com.mysql.jdbc .PreparedStatement.executeUpdate(PreparedStatement.java:2019)

 

 

原因是在火灾中引用了触发该火灾的数值表:

 

 

当您插入一条记录时,mysql 正在执行一些锁定操作。你不能在插入的同一个表中插入/更新/删除行..因为这样触发器会一次又一次地调用..最终导致递归

参考:http://forums.mysql .com/read.php?99,122354,122505#msg-122505

 

 http://topic.csdn.net/u/20101213/15/095c08fe-bd91-476c- 9d16-5d7c648fa8a2.html?seed=1512932427&r=76107745

bitsCN.com
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn