Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > перебросить данные из одной таблицы в другую


Автор: maxipub 1.12.2009, 01:21
1. Пусть будет таблица T1 с полями R1, R2, R3, R4, R5... Rn и T2 c R1, R2, R3 соотв. Т1 заполненна данными, Т2 пуста. Поля R1-R3 обеих таблиц имеют идентичный тип (int, int, text).

Как (кроме построчного SELECT -> INSERT) можно перекинуть данные из T1 в T2?



2. Можно ли какам-то образом применить некую PHP функцию к некому столбику в табличке (без построчного перебора)? А-ля 'UPDATE `table` set row='.function(row) ? smile Повторюсь, PHP-функцию, а не SQL.

Автор: admsasha 1.12.2009, 03:58
Если не ошибаюсь, делается это так
Код

INSERT INTO `T1` SELECT * FROM `T2`

Автор: Simpliest 1.12.2009, 07:04
Цитата(maxipub @  1.12.2009,  00:21 Найти цитируемый пост)
Можно ли какам-то образом применить некую PHP функцию к некому столбику в табличке (без построчного перебора)? А-ля 'UPDATE `table` set row='.function(row) ?  Повторюсь, PHP-функцию, а не SQL.

нельзя

Автор: maxipub 1.12.2009, 13:41
Ясно. Благодарю!

Автор: maxipub 1.12.2009, 14:05
Упс, немного посмешил с пометкой темы как прочитанной. Появился сопутствующий вопрос.

3. Похожий на 1-й пункт. Только вместо вставки некой колонки R1, необходимо провести ее UPDATE. В таблицах T1 и T2 есть PRIMARY id поля, соответственно, по ним и надо обновлять данные. Можно ли и это реализовать одним запросом?

Автор: Pitlord 1.12.2009, 16:07
Код

UPDATE `T1` JOIN `T2` ON `T1`.`id` =  `T2`.`id` SET `T1`.`R1` = `T2`.`R1`, `T1`.`R2` = `T2`.`R2`, ...

Автор: maxipub 1.12.2009, 16:18
Тю. Торможу smile
Pitlord, премного благодарен smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)