Я использую MySQL. У меня есть таблица под названием EMP, и теперь мне нужно создать еще одну таблицу (EMP_TWO) с той же схемой, теми же столбцами и теми же ограничениями. Как я могу это сделать?
Я использую MySQL. У меня есть таблица под названием EMP, и теперь мне нужно создать еще одну таблицу (EMP_TWO) с той же схемой, теми же столбцами и теми же ограничениями. Как я могу это сделать?
Ответы:
Чтобы создать новую таблицу на основе другой структуры / ограничений таблиц, используйте:
CREATE TABLE new_table LIKE old_table;
Чтобы скопировать данные, если необходимо, используйте
INSERT INTO new_table SELECT * FROM old_table;
Создать табличную документацию
Остерегайтесь примечаний к опции LIKE:
Используйте LIKE для создания пустой таблицы на основе определения другой таблицы, включая любые атрибуты столбцов и индексы, определенные в исходной таблице:
СОЗДАТЬ ТАБЛИЦУ new_table LIKE original_table; Копия создается с использованием той же версии формата хранения таблицы, что и исходная таблица. Для исходной таблицы требуется привилегия SELECT.
LIKE работает только для базовых таблиц, но не для представлений.
CREATE TABLE ... LIKE не сохраняет параметры таблицы DATA DIRECTORY или INDEX DIRECTORY, которые были указаны для исходной таблицы, или какие-либо определения внешнего ключа.
LIKE
в CREATE
утверждении.
CREATE TABLE new_db.new_table LIKE old_db.old_table
:)
Почему бы тебе не пойти вот так
CREATE TABLE new_table LIKE Select * from Old_Table;
или вы можете фильтровать данные, как это
CREATE TABLE new_table LIKE Select column1, column2, column3 from Old_Table where column1 = Value1;
Чтобы иметь такое же ограничение в вашей новой таблице, сначала вам нужно будет создать схему, затем вы должны перейти к данным для создания схемы.
CREATE TABLE new_table LIKE Some_other_Table;
like
и select *
в одном заявлении? я получаю ошибку Также проверьте этот ответ stackoverflow.com/questions/10147565/create-table-like-a1-as-a2