比特网
使用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