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


Автор: TNT86 26.2.2007, 01:17
Как скопировать данные из одной таблицы в другую в MYSQL? Насколько я понимаю нельзя написать Update нескольких таблиц? Или я чего не понимаю

например есть таблица members содержащая поля id и login и таблица pictures с полями member_id member_login member_picture

Таблица members заполнена, в таблице pictures заполнены member_login, member_picture, а вот member_id нужно скопировать из members 

Автор: Всемогущий 26.2.2007, 01:25
а не обьединение ли это?

Код

SELECT members.ID ,member.login,pictures.member_login,pictures.member_picture from members inner join pictures on member.login=pictures.member_login

Автор: PARROT 26.2.2007, 10:35
http://www.mysql.ru/docs/man/Multiple_tables.html

Автор: TNT86 26.2.2007, 17:07
to Всемогущий :  насколько я понимаю в JOIN = не является присваиванием, то есть написанный запрос не меняет исходные таблицы или я ошибаюсь?

to PARROT : В статье описывается извлечение информации из таблиц, а мне нужно модифицировать одну таблицу, используя данные другой.


Автор: mishaSL 26.2.2007, 18:47
Цитата(TNT86 @  26.2.2007,  01:17 Найти цитируемый пост)
Насколько я понимаю нельзя написать Update нескольких таблиц?

Можно начиная с версии 4.0.2


Цитата(TNT86 @  26.2.2007,  01:17 Найти цитируемый пост)
например есть таблица members содержащая поля id и login и таблица pictures с полями member_id member_login member_picture

Таблица members заполнена, в таблице pictures заполнены member_login, member_picture, а вот member_id нужно скопировать из members  


Примерно так, если ты хочешь сравнивать по логину:
Код

UPDATE `pictures`, `members` SET `pictures`.`member_id`= `members`.`id` WHERE `pictures`.`member_login`=`members`.`member_login`


Автор: TNT86 1.3.2007, 11:53
Ок - все работает. Видимо, когда я сам пробовал сделать такой запрос,  сделал ошибку - теперь все ок
Спасибо!

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