Как создать новую таблицу, структура которой должна быть такой же, как у другой таблицы
Я попытался
CREATE TABLE dom AS SELECT * FROM dom1 WHERE 1=2
но произошла его неработающая ошибка
sql-server
Domnic
источник
источник
Ответы:
Пытаться:
Обратите внимание, что это не будет копировать индексы, ключи и т. Д.
Если вы хотите скопировать всю структуру, вам необходимо создать сценарий создания таблицы. Вы можете использовать этот сценарий для создания новой таблицы с той же структурой. Затем вы также можете сбросить данные в новую таблицу, если вам нужно.
Если вы используете Enterprise Manager, просто щелкните таблицу правой кнопкой мыши и выберите копию, чтобы сгенерировать сценарий создания.
источник
Это то, что я использую для клонирования структуры таблицы (только столбцы) ...
источник
Только скопировать структуру (скопировать все столбцы)
Только скопировать структуру (скопировать несколько столбцов)
Скопируйте структуру с данными
Если у вас уже есть таблица с такой же структурой, и вы просто хотите скопировать данные, используйте это
источник
Это определенная работа
источник
ДЛЯ MYSQL:
Ты можешь использовать:
Документация здесь .
источник
sql-server
для чего этот синтаксис недействителен, fyi.Вероятно, также стоит упомянуть, что вы можете делать следующее:
Щелкните правой кнопкой мыши таблицу, которую вы хотите продублировать > Таблица сценариев как > Создать в > Новое окно редактора запросов
Затем, где указано имя таблицы, которую вы только что щелкнули правой кнопкой мыши в сгенерированном скрипте, измените имя на то, что вы хотите, чтобы ваша новая таблица вызывалась, и нажмите
Execute
источник
попробуйте это .. ниже скопируйте всю структуру существующей таблицы, но не данные.
если вы хотите скопировать данные, используйте следующий:
источник
Я использую следующую хранимую процедуру для копирования схемы таблицы, включая PK, индексы, статус раздела. Это не очень быстро, но, похоже, работает. Я приветствую любые идеи, как это ускорить:
источник
CURSOR LOCAL FAST_FORWARD
. Лично я пытаюсь создать аналогичный сценарий без использования курсоров и посмотреть, как это работает.Если вы хотите скопировать ту же базу данных
Если другая база данных
источник
источник
Я не знаю, почему вы хотите это сделать, но попробуйте:
Он должен работать.
источник
источник
Нашел здесь то, что искал. Помогло вспомнить то, чем я пользовался 3-4 года назад.
Я хотел повторно использовать тот же синтаксис, чтобы иметь возможность создавать таблицу с данными, полученными в результате объединения таблицы.
После нескольких попыток возник запрос ниже.
источник
источник
Oldtable
. Как этого избежать?Если вы хотите создать таблицу с единственной структурой, которую нужно скопировать из исходной таблицы, вы можете использовать следующую команду для этого.
По этому ложному условию вы можете оставить записи и скопировать структуру.
источник
create table AT_QUOTE_CART as select * from QUOTE_CART where 0=1 ;
Замените эти имена таблиц, и мы получим:create table <tablename> as select * from <sourcetablename> where 0=1 ;
Что касается предложения where,0=1
достигается тот же результат, при1>2
котором данные не извлекаются.