在云数据库RDS MySQL版中执行“create table XXX select XXX”语句报错

在云数据库RDS MySQL版中执行“create table XXX select XXX”语句报错

更新时间:2020-06-09 14:45:28

问题描述

在云数据库RDS MySQL版中执行create table XXX select XXXSQL语句,创建表并复制旧表数据时,提示以下报错。

1786-Statement violates GTID consistency:create table ... select  

问题原因

云数据库RDS MySQL版不支持这种创建方式。

解决方案

阿里云提醒您:

  • 如果您对实例或数据有修改、变更等风险操作,务必注意实例的容灾、容错能力,确保数据安全。
  • 如果您对实例(包括但不限于ECS、RDS)等进行配置与数据修改,建议提前创建快照或开启RDS日志备份等功能。
  • 如果您在阿里云平台授权或者提交过登录账号、密码等安全信息,建议您及时修改。
  1. 连接RDS实例,详情请参见连接RDS实例
  2. 执行以下SQL语句,创建新表。
    create table [$Table_Name1] like [$Table_Name2];
    说明
    • [$Table_Name1]:为新表表名。
    • [$Table_Name2]:为旧表表名。
  3. 执行以下SQL语句,将旧表数据插入到新表中。
    insert into [$Table_Name1]
    select *
    from [$Table_Name2];

适用于

  • 云数据库RDS MySQL版

如果您的问题仍未解决,您可以在阿里云社区免费咨询,或提交工单联系阿里云技术支持。