我有一个Spring / JDBC应用程序,它严重依赖于单元测试的MySQL回滚。我发现,如果在这些事务中执行某些DDL操作--即使是在临时表上--回滚甚至在正常的DML语句上也会失败。template.update("update forms set form_name = 'blah' where form_id = 1412");
template.update("alter有什么办法可以防止这种情况吗?也许某些参数传递给a
BEGIN ALTERtable语句上会出现错误),那么UPDATE和第一个ALTER TABLE也应该回滚,即它们应该保持最初的状态。根据,通过使用START TRANSACTION,将禁用该事务的自动提交模式,这将使而不是允许:
一旦您执行一条更新(修改)表的语句,MySQL就会将更新存储在磁盘上,使其永久化。我只发现这个问题与