SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 08.10.2009 16:56:04

djalex777
Участник
Зарегистрирован: 28.07.2009
Сообщений: 5

Как скопировать данные из одной таблицы в другую?

Есть две таблицы: table1 и table2. Столбцы в таблицах одинаковые, но в Table2 добавлен ноый столбец имеющий значение по-умолчанию. Нужно из таблицы table1 скопировать данные в таблицу table2, т.е. скопировать из table1 только те данные, для которых есть соответствующие столбцы в table2. Можно ли такое реализовать? Как?

Неактивен

 

#2 08.10.2009 17:44:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как скопировать данные из одной таблицы в другую?

INSERT INTO table2 (список_столбцов)
SELECT список_столбцов FROM table1

Неактивен

 

#3 08.10.2009 18:05:06

djalex777
Участник
Зарегистрирован: 28.07.2009
Сообщений: 5

Re: Как скопировать данные из одной таблицы в другую?

Спасибо! А можно ли как-нибудь так:

set @ccnames = (select group_concat(column_name) from information_schema.columns where table_name='table1' and table_schema = 'database');
insert into `table2` (@ccnames) select (@ccnames) from table1;

Так не работает.
Цель - автоматически получить список столбцов из первой таблицы и скопировать значения для них во вторую, не вбивая названия столбцов вручную

Неактивен

 

#4 08.10.2009 18:40:05

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: Как скопировать данные из одной таблицы в другую?

Динамический DDL возможен только через подготовленные выражения

Неактивен

 

#5 08.10.2009 19:17:10

djalex777
Участник
Зарегистрирован: 28.07.2009
Сообщений: 5

Re: Как скопировать данные из одной таблицы в другую?

Спасибо ещё раз. Это то что нужно!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson