Error Code: 1786 Statement violates GTID consistency: CREATE TABLE ... SELECT.
阿新 • • 發佈:2018-11-27
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;