すべてのプロダクト
Search
ドキュメントセンター

:RDS MySQL 5.6のGTID機能によって引き起こされる一時テーブルの制限を処理する方法

最終更新日:Jan 18, 2024

問題の説明

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