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 9.2 игнорирует оператор полностью; ничего не вставляется и ничего не записывается в журнал.
MySQL 9.2 не разрешает оператору CREATE
TABLE ... SELECT вносить какие-либо изменения в таблицы, кроме таблицы, создаваемой этим оператором.
© 2025 Oracle
Licensed under the GPLv2 License.