Почему MySQL GTID не поддерживает временные таблицы
Я прочитал из документации MySQL
Операторы CREATE TEMPORARY TABLE и DROP TEMPORARY TABLE не поддерживаются внутри транзакций при использовании GTID (то есть, когда сервер был запущен с опцией --enforce-gtid-consistency). Можно использовать эти операторы с включенными GTID, но только вне какой-либо транзакции и только с autocommit=1
и очень сбит с толку, почему CREATE/DROP TEMPORARY TABLE не поддерживается внутри транзакций, когда включен GTID, может кто-то объяснить более подробно? Спасибо!
1 ответ
Есть причины, скорее всего, связанные с репликацией, когда включен GTID. Вы всегда можете создать нормальную таблицу внутри транзакции. Drop
этот стол if exists
перед созданием. Он будет работать так же, как временная таблица.