Spec-Zone.ru › MySQL 5.7

13.1.18.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, и не просто копирует файл .frm. Это означает, что если текущий SQL-режим отличается от режима, действующего при создании исходной таблицы, определение таблицы может быть признано недействительным для нового режима, и оператор завершится ошибкой.

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

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

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

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

Spec-Zone.ru

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