Spec-Zone.ru › MySQL 9.2

15.1.21.3 Заявление CREATE TABLE ... LIKE

Используйте CREATE TABLE ... LIKE для создания пустой таблицы на основе определения другой таблицы, включая любые атрибуты столбцов и индексы, определённые в исходной таблице:

CREATE TABLE new_tbl LIKE orig_tbl;

Копия создаётся с использованием той же версии формата хранения таблиц, что и у исходной таблицы. Требуется привилегия SELECT на исходной таблице.

LIKE работает только для базовых таблиц, а не для представлений.

Важно

Вы не можете выполнить CREATE TABLE или CREATE TABLE ... LIKE, пока выполняется операция LOCK TABLES.

CREATE TABLE ... LIKE выполняет те же проверки, что и CREATE TABLE. Это означает, что если текущий режим SQL отличается от режима, активного при создании исходной таблицы, определение таблицы может быть признано недействительным для нового режима, и заявление может завершиться ошибкой.

Для CREATE TABLE ... LIKE целевая таблица сохраняет информацию о сгенерированных столбцах из исходной таблицы.

Для CREATE TABLE ... LIKE целевая таблица сохраняет значения по умолчанию выражений из исходной таблицы.

Для CREATE TABLE ... LIKE целевая таблица сохраняет CHECK ограничения из исходной таблицы, за исключением того, что все имена ограничений генерируются.

CREATE TABLE ... LIKE не сохраняет никаких DATA DIRECTORY или INDEX DIRECTORY параметров таблицы, которые были указаны для исходной таблицы, или какие-либо определения внешних ключей.

Если исходная таблица является TEMPORARY таблицей, CREATE TABLE ... LIKE не сохраняет TEMPORARY. Чтобы создать TEMPORARY целевую таблицу, используйте CREATE TEMPORARY TABLE ... LIKE.

Операции CREATE TABLE ... LIKE применяют все ENGINE_ATTRIBUTE и SECONDARY_ENGINE_ATTRIBUTE значения к новой таблице.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/create-table-like.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API