Deskripsi masalah
Pada RDS MySQL 5.6, fitur GTID membatasi penggunaan tabel sementara dan menyebabkan munculnya kesalahan berikut.
Ketika @@GLOBAL.ENFORCE_GTID_CONSISTENCY = 1, pernyataan CREATE TEMPORARY TABLE dan DROP TEMPORARY TABLE hanya dapat dieksekusi dalam konteks non-transaksional, dan memerlukan bahwa AUTOCOMMIT = 1.Solusi
Anda dapat memilih salah satu solusi berikut sesuai dengan situasi Anda.
Ubah pernyataan
create temporary tablemenjadicreate tabledan gunakan tabel biasa sebagai pengganti tabel sementara.Modifikasi kode untuk menempatkan operasi pembuatan dan penghapusan tabel sementara di luar transaksi, serta pastikan parameter dari Sesi adalah
autocommit=1.
Ruang lingkup aplikasi
ApsaraDB RDS for MySQL