問題の説明
RDS MySQL 5.6では、GTID機能により一時テーブルが制限され、次のエラーが報告されます。
@ @ GLOBAL.ENFORCE_GTID_CONSISTENCY = 1の場合、ステートメントCREATE TEMPORARY TABLEおよびDROP TEMPORARY TABLEは非トランザクションコンテキストでのみ実行でき、AUTOCOMMIT = 1であることが必要です。
解決策
実際の状況に基づいて、次のソリューションを選択できます。
create temporary table
ステートメントをcreatetable
に変更し、一時テーブルの代わりに共通テーブルを使用します。コードを変更して、トランザクションの外部の一時テーブルにcreateおよびdelete操作を配置し、セッションのパラメーターが
autocommit=1
であることを確認します。
適用範囲
ApsaraDB RDS for MySQL