Spec-Zone.ru › MySQL 8.4

19.5.1.7 Репликация операторов CREATE TABLE ... SELECT

MySQL применяет эти правила при репликации операторов CREATE TABLE ... SELECT:

  • Оператор CREATE TABLE ... SELECT всегда выполняет неявную фиксацию (Раздел 15.3.3, «Операторы, вызывающие неявную фиксацию»).

  • Если целевая таблица не существует, ведение журнала происходит следующим образом. Присутствует ли IF NOT EXISTS или нет, не имеет значения.

    • В формате STATEMENT или MIXED: оператор записывается в журнал в исходном виде.

    • В формате ROW: оператор записывается в журнал как оператор CREATE TABLE, за которым следуют события вставки строк.

      Для движков хранения, поддерживающих атомарные DDL-операции, оператор записывается в журнал как одна транзакция. Дополнительную информацию см. в Разделе 15.1.1, «Поддержка атомарных операторов определения данных».

  • Если оператор CREATE TABLE ... SELECT завершается ошибкой, ничего не записывается в журнал. Это включает случай, когда целевая таблица существует, а IF NOT EXISTS не указано.

  • Если целевая таблица существует и IF NOT EXISTS указано, MySQL 8.4 игнорирует оператор полностью; ничего не вставляется и ничего не записывается в журнал.

MySQL 8.4 не разрешает оператору CREATE TABLE ... SELECT вносить какие-либо изменения в таблицы, кроме той, которая создаётся этим оператором.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/replication-features-create-select.html

Spec-Zone.ru

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