qq_43522026 2019-05-27 14:04 采纳率: 100%
浏览 1338
已采纳

setAutoCommit(false)无效,不是引擎问题

图片说明

上图40行关闭了自动提交(未生效)

图片说明

上图105行开启了提交(此行报错,进入SQLException)

图片说明

报错信息如下

java.sql.SQLException: Can't call commit when autocommit=true

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:869)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:865)
。。。。。


引用的DBUtil.getConnection()如下
图片说明

补充一句,数据都已成功插入
也就是说setAutoCommit(false)确实无效

  • 写回答

2条回答 默认 最新

  • little_how 2019-05-27 14:13
    关注

    看到你的调用本来不想回答的;

    首先设置的autocommit是会话(session)级别的,所以,每次只能在自己连接的会话内生效;

    看看你的调用:设置autocommit是一个会话,执行插入式另外一个会话,回滚又是一个会话....

    深感无力...

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?