Почему 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 перед созданием. Он будет работать так же, как временная таблица.

Другие вопросы по тегам