2014-08-28 3 views
-2

Я хочу скопировать таблицу1 в таблицу2, за исключением поля «id», потому что я хочу, чтобы «id» в таблице2 автоматически увеличивался.Скопируйте одну таблицу в другую, за исключением зарегистрированного id

Вот один из решения я пытался ... но не работает: "INSERT INTO table2 SELECT поле1, field2, field3 ОТ table1 WHERE member_id = '53'"

ответ

2

вы можете выбрать NULL вместо идентификатора, если вы этого не сделаете (по любой причине) хочет назвать столбцы.

Предполагая, что оба ваших таблиц имеют столбцы member_id, field1, field1, field3, в таком порядке, вы можете сделать:

insert into table2 select NULL, field1, field2, field3 from table1 where member_id = '53';

ПРИМЕЧАНИЕ: Вы должны указать значение для всех столбцов, используя этот формат.

+0

Этот ответ означает, что он должен обновлять запрос каждый раз, когда он добавляет новый столбец. –

1

Если вы не хотите чтобы заполнить все столбцы таблицы назначения, то вам необходимо назвать столбцы, которые вы хотите, чтобы заполнить

INSERT INTO table2 (table2_f1, table2_f2, table2_f3) 
SELECT field1, field2, field3 
FROM table1 
WHERE member_id = '53' 
0

INSERT INTO table2 (table2_f1, table2_f2, table2_f3) ВЫБРАТЬ field1, field2, field3 ОТ table1

Вам не нужно указать идентификатор, если вы установите его auto_increment

Смежные вопросы