SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

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

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

Вы не зашли.

#1 28.03.2011 16:21:29

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Глюк при обнавление 2 таблиц в одном запросе

Добрый день, я так �онял что операция UPDATE с двумя или более таблиц является плохим тоном в MySQL? Пример:                                                 UPDATE tab1,tab2 SET tab1.money=tab2.money+tab2.blocked,tab1.blocked=tab1.blocked+tab1.money WHERE tab1.usr=tab2.usr                                                   Запрос ничего не обновляет, я так понял это из за того что в выражение SET перекрещиваются строки из разных таблиц.Пробовал делать алиасы, тот же эффект.Как это исправить? Помогите пожалуйста, очень нужно это сделать именно в одном запросе, или это технически не возможно?

Отредактированно simple (28.03.2011 16:26:55)

Неактивен

 

#2 28.03.2011 19:23:27

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Глюк при обнавление 2 таблиц в одном запросе

simple написал:

я так �онял что операция UPDATE с двумя или более таблиц является плохим тоном в MySQL?

Нет.


simple написал:

UPDATE tab1,tab2 SET tab1.money=tab2.money+tab2.blocked,tab1.blocked=tab1.blocked+tab1.money WHERE tab1.usr=tab2.usr                                                   Запрос ничего не обновляет, я так понял это из за того что в выражение SET перекрещиваются строки из разных таблиц.

Обновляет smile Другой вопрос, что при вычислении tab1.blocked будет браться исходное значение tab1.money, а вы, насколько я понял, хотели, чтобы использовалось новое значение. В таком случае - два запроса.

Неактивен

 

#3 28.03.2011 20:32:09

simple
Активист
Зарегистрирован: 25.11.2010
Сообщений: 168

Re: Глюк при обнавление 2 таблиц в одном запросе

Спасибо за разъеснение, буду про двигаться в другом направлении значит.

Неактивен

 

Board footer

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