START TRANSACTION 和 COMMIT 在 MySQL 中的单独查询中不起作用

START TRANSACTION and COMMIT not working in separate queries in MySQL

当我发送多行分号分隔的查询(即 3 个单独的查询)时,它工作正常,具体取决于我是用 COMMIT 还是 ROLLBACK 完成它,它要么插入值或回滚。但是当我在三个单独的查询中输入它们时,一个接一个,现在这行不通了。 (我正在使用 PHP MyAdmin)

后者必须更有意义,因为我认为这是交易的全部要点,在会话(交易)中发送查询并仅在最后决定我们是否要 运行 他们或放弃对 table.

的更改

START TRANSACTION; INSERT INTO x VALUES ('y'); COMMIT;

phpMyAdmin 不是这样工作的:它不会在每次提交表单之间保持会话,因此您不会以这种方式获得所需的功能。

另一方面,在代码中,这将按预期工作,因为您打开一次连接,运行 3 个单独的查询,然后关闭连接。