An error occurred while using Spring jdbctemplate:
View sourceprint? 01 org. springframework. jdbc. uncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [insert into t_data (id, content, status, type, r_id) values (?,?)]; SQL state [HY000]; error code [1442]; can't update table 't_ data' in stored function/trigger because it is already used by statement which invoked this stored function/trigger .; nested exception is java. SQL. SQLException: Can't update table 't_ data' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
02 org. springframework. jdbc. support. SQLStateSQLExceptionTranslator. translate (SQLStateSQLExceptionTranslator. java: 124)
03
04 java. SQL. SQLException: Can't update table 't_ data' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
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.exe cSQL (ConnectionImpl. java: 2542)
12 com.mysql.jdbc.PreparedStatement.exe cuteInternal (PreparedStatement. java: 1734)
13 com.mysql.jdbc.PreparedStatement.exe cuteUpdate (PreparedStatement. java: 2019)
The reason is that the host table that triggers the trigger is referenced in the trigger:
When you insert a record mysql is doing some lock stuff. you can't insert/update/delete rows of the same table where you insert .. because then the trigger wocould called again and again .. ending up in a recursion
Reference: 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