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.