您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

MySQL 触发器错误_MySQL

2025/6/2 5:40:20发布16次查看
bitscn.com
使用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.execsql(connectionimpl.java:2542)
12 com.mysql.jdbc.preparedstatement.executeinternal(preparedstatement.java:1734)
13 com.mysql.jdbc.preparedstatement.executeupdate(preparedstatement.java:2019)
原因是在触发器中引用了触发该触发器的宿主表:
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 would called again and again.. ending up in a recursion
参考: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
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product