云数据库MySQL

MySQL 5.6版本GTID特性对临时表限制的处理方法

问题描述

RDS for MySQL 5.6版本中,GTID特性对临时表进行了限制,导致报错内容如下。

  1. 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.

说明:
开启GTID后,5.7版本支持事务中使用临时表,且binlog_format必须设置为ROW根式(RDS默认ROW格式)。

解决方法

您可以根据实际情况,选择如下的解决方法。