Поиск

Синтаксис RENAME TABLE

RENAME TABLE имя_таблицы ТО новое имя_таблицы[,имя_таблицы2 ТО новое имя таблицы2] ...
Оператор переименовывает одну или несколько таблиц. Был добавлен в MySQL 3.23.23.
Операция переименования является атомарной, а это означает, что ни один другой поток сервера не может получить доступ к таблице во время выполнения переименова­ния. Например, если у вас есть существующая таблица old_table, вы можете создать другую пустую таблицу new_table, которая имеет ту же структуру, а затем заменить старую таблицу на новую пустую следующим образом:
CREATE TABLE new_table (...);
RENAME TABLE old_table TO backup_table, new_table TO old_table;
Если оператор переименовывает более одной таблицы, операции переименования вы­полняются слева направо. Если вы хотите, чтобы две таблицы обменялись именами, это можно сделать примерно так (предполагается, что таблица tmp_table не существует):
RENAME TABLE old_table TO tmp_table, new_table TO old_table, tmp table TO new table;

До тех пор пока две базы данных находятся в одной файловой системе, вы также мо­жете переименовать таблицу, чтобы переместить ее из одной базы в другую:
RENAME TABLE текущая_база_данных.имя_таблицы ТО друга я_база__д а нных. имя_ та блицы;

Когда выполняется RENAME, нельзя иметь никаких заблокированных таблиц или ак­тивных транзакций. Вы должны также обладать привилегиями ALTER и DROP на исходной таблице, а также привилегиями CREATE и INSERT на новой таблице