示例代码:
START TRANSACTION;
DROP TEMPORARY TABLE IF EXISTS temp20200610;
ROLLBACK;
报错信息:
[HY000][1787] When @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, the statements CREATE TEMPORARY TABLE and DROP TEMPORARY TABLE can be executed in a non-transactional context only, and require that AUTOCOMMIT = 1.
在示例代码中增加自动提交控制:
START TRANSACTION;
SET AUTOCOMMIT = 1;
# SET @@AUTOCOMMIT = 1;
# SET @@SESSION.AUTOCOMMIT = 1;
DROP TEMPORARY TABLE IF EXISTS temp20200610;
ROLLBACK;
执行后的报错信息依旧。
参考链接:
https://blog.youkuaiyun.com/hanbowu/article/details/82744699
https://blog.youkuaiyun.com/mingyundezuoan/article/details/78764443
本文探讨了在MySQL中,当全局GTID一致性设置为1时,创建和删除临时表在非事务上下文及自动提交模式下遇到的问题。通过示例代码展示错误信息,并尝试修改自动提交设置来解决问题,但仍然遇到相同的错误。
730





