В чем разница между "переименованием таблицы" и "переименованием таблицы"?

Я использую MySQL. Вот пример, я хочу переименовать таблицу A в B, в чем разница между следующим утверждением:

alter table A rename to B;

и этот:

rename table A to B;

Кто-нибудь может дать подробное сравнение между ними? Это зависит от другого двигателя?

1 ответ

Решение

Как указано в ALTER TABLE Синтаксис:

За ALTER TABLE tbl_name RENAME TO new_tbl_name без каких-либо других параметров, MySQL просто переименовывает любые файлы, которые соответствуют таблице tbl_name без создания копии. (Вы также можете использовать RENAME TABLE Заявление переименовать таблицы. Смотрите Раздел 13.1.32, " RENAME TABLE Синтаксис ".) Любые привилегии, предоставленные специально для переименованной таблицы, не переносятся на новое имя. Они должны быть изменены вручную.

Как указано в RENAME TABLE Синтаксис:

RENAME TABLE, В отличие от ALTER TABLE, можно переименовать несколько таблиц в одном выражении:

RENAME TABLE old_table1 TO new_table1,
             old_table2 TO new_table2,
             old_table3 TO new_table3;

[ deletia ]

RENAME TABLE не работает для TEMPORARY столы. Тем не менее, вы можете использовать ALTER TABLE переименовать временные таблицы.

RENAME TABLE работает для представлений, за исключением того, что представления не могут быть переименованы в другую базу данных.

Других отличий нет.

Другие вопросы по тегам