MySQL報錯之1786 - Statement violates GTID consistency: CREATE TABLE ... SELECT

一、報錯截圖

MySQL-1786

二、場景描述

使用create table xxx2 as select ... from xxx1語句時報錯,這是由於MySQL在5.6及更高的版本添加了enforce_gtid_consistency 這個參數,默認設置爲true,只允許能夠保障事務安全,並且能夠被日誌記錄的SQL語句被執行。

create table mx_temp_1(
	id int(10) primary key,
	username varchar(100),
	age int(3),
	sex varchar(10)
);

insert into  mx_temp_1 values(1,'張三','28','男');

create table mx_temp_2 as select * from mx_temp_1;

三、解決方案

create table xxx2 as select ... from xxx1語句拆分爲兩端語句來執行,如下所示:

create table mx_temp_1(
	id int(10) primary key,
	username varchar(100),
	age int(3),
	sex varchar(10)
);

insert into  mx_temp_1 values(1,'張三','28','男');

create table mx_temp_2 like mx_temp_1;
insert into mx_temp_2 select * from mx_temp_1;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章