1. 程式人生 > >Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.

Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.

1、錯誤描述

1 queries executed, 0 success, 1 errors, 0 warnings

查詢:call account_check_main('20180511')

錯誤程式碼: 1786
Statement violates GTID consistency: CREATE TABLE ... SELECT.

執行耗時 : 0 sec
傳送時間 : 0 sec
總耗時 : 0.066 sec

2、錯誤原因

這是因為在5.6及以上的版本內,開啟了 enforce_gtid_consistency=true 功能導致的,MySQL官方解釋說當啟用 enforce_gtid_consistency 功能的時候,MySQL只允許能夠保障事務安全,並且能夠被日誌記錄的SQL語句被執行,像create table … select 和 create temporarytable語句,以及同時更新事務表和非事務表的SQL語句或事務都不允許執行。

3、解決方法

方法一(推薦):

修改 :SET @@GLOBAL.ENFORCE_GTID_CONSISTENCY = off;

配置檔案中 :ENFORCE_GTID_CONSISTENCY = off;

方法二:

create table xxx as select 的方式會拆分成兩部分。

create table xxxx like data_mgr;
insert into xxxx select *from data_mgr;