Справочное руководство по MySQL

6.5.5 Синтаксис оператора RENAME TABLE

    6.5.5 Синтаксис оператора RENAME TABLE

    RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO new_tbl_name2,...]
    

    Операция переименования должна осуществляться как атомарная, т.е. при выполнении переименования никакому другому потоку не разрешается доступ к указанным таблицам. Благодаря этому возможно замещение таблицы пустой таблицей:

    CREATE TABLE new_table (...);
    RENAME TABLE old_table TO backup_table, new_table TO old_table;
    

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

    RENAME TABLE old_table TO backup_table,
            new_table TO old_table,
            backup_table TO new_table;
    

    Для двух баз данных, находящихся на одном и том же диске, можно также осуществлять обмен именами:

    RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
    

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

    Если MySQL сталкивается с какой-либо ошибкой при переименовании нескольких таблиц, то произойдет обратное переименование для всех переименованных таблиц, чтобы вернуть все в исходное состояние.

    Оператор RENAME TABLE был добавлен в MySQL 3.23.23.




Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости