Spec-Zone.ru › MySQL 5.7

B.3.6.2 Проблемы таблиц TEMPORARY

Временные таблицы, созданные с помощью CREATE TEMPORARY TABLE, имеют следующие ограничения:

  • Таблицы TEMPORARY поддерживаются только движками хранилища InnoDB, MEMORY, MyISAM и MERGE.

  • Временные таблицы не поддерживаются для NDB Cluster.

  • Команда SHOW TABLES не отображает таблицы TEMPORARY.

  • Для переименования таблиц TEMPORARY команда RENAME TABLE не работает. Используйте ALTER TABLE вместо этого:

    ALTER TABLE old_name RENAME new_name;
    
  • Нельзя ссылаться на таблицу TEMPORARY более одного раза в одном запросе. Например, следующий запрос не работает:

    SELECT * FROM temp_table JOIN temp_table AS t2;
    

    Запрос вызовет ошибку:

    ERROR 1137: Can't reopen table: 'temp_table'
    
  • Ошибка Не удается повторно открыть таблицу также возникает, если вы ссылаетесь на временную таблицу несколько раз в хранимой функции с разными псевдонимами, даже если ссылки находятся в разных операторах внутри функции. Это может происходить для временных таблиц, созданных вне хранимых функций и используемых в нескольких вызывающих и вызываемых функциях.

  • Если таблица TEMPORARY создается с тем же именем, что и существующая таблица, которая не является временной, то не временная таблица будет скрыта до тех пор, пока временная таблица не будет удалена, даже если таблицы используют разные движки хранилища.

  • Имеются известные проблемы при использовании временных таблиц с репликацией. Для получения дополнительной информации см. Раздел 16.4.1.29, «Репликация и временные таблицы».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/temporary-table-problems.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API