我从MySQL documentation
读取使用GTID时,在事务内部不支持CREATE TEMPORARY TABLE和DROP TEMPORARY TABLE语句(即,使用--enforce-gtid-consistency选项启动服务器时)。可以在启用GTID的情况下使用这些语句,但仅限于任何事务之外,并且仅使用autocommit = 1
并且非常困惑为什么启用GTID时为什么在事务内不支持CREATE / DROP TEMPORARY TABLE,有人可以更详细地解释一下吗?谢谢!
答案 0 :(得分:1)
启用GTID时,最有可能与复制相关的原因。您始终可以在事务中创建普通表。在创建之前Drop
表if exists
。它的工作方式与临时表的工作方式相同。