一、報錯截圖
二、場景描述
使用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;