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 个单独的查询,然后关闭连接。
当我发送多行分号分隔的查询(即 3 个单独的查询)时,它工作正常,具体取决于我是用 COMMIT
还是 ROLLBACK
完成它,它要么插入值或回滚。但是当我在三个单独的查询中输入它们时,一个接一个,现在这行不通了。 (我正在使用 PHP MyAdmin)
后者必须更有意义,因为我认为这是交易的全部要点,在会话(交易)中发送查询并仅在最后决定我们是否要 运行 他们或放弃对 table.
的更改START TRANSACTION;
INSERT INTO x VALUES ('y');
COMMIT;
phpMyAdmin 不是这样工作的:它不会在每次提交表单之间保持会话,因此您不会以这种方式获得所需的功能。
另一方面,在代码中,这将按预期工作,因为您打开一次连接,运行 3 个单独的查询,然后关闭连接。