Mysql jdbc - 插入的值立即被删除

时间:2018-06-13 20:11:41

标签: mysql jdbc

我使用mysql java连接器(mysql-connector-java-8.0.11)来访问数据库。 我打开一个连接并生成一些表。到目前为止一切正常。

但是当我尝试在其中一个表中插入一个值时,该行立即被删除。

我使用以下代码

PreparedStatement stmt = connection.prepareStatement("INSERT INTO database_upgrade (version) VALUES (?)");
stmt.setInt(1, newVersion);
stmt.executeUpdate();
stmt.close();

当我调试executeUpdate时,insertId和updateCount被正确返回。但是当我查看数据库时,条目丢失了。 自动增量id增加,表示该行已插入然后删除,但我不知道原因。

有趣的一点:如果我为这个插件使用新的连接,一切都很完美。但是,当我使用之前操作的连接时,它不会。

仅供澄清

  • 之前的所有陈述均已结束
  • 连接仍处于打开状态
  • 以前的行动是一些"创建表"和" alter table"

谁能告诉我为什么会这样?我在MS SQL服务器上使用了相同的代码,但这并没有发生。

谢谢!

1 个答案:

答案 0 :(得分:1)

感谢Gord Thompson,我发现了它。一些以前的sql命令关闭了自动提交(我没有仔细检查)。

解决方案:我删除了sql文件中的autoCommit禁用部分。