SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 07.01.2012 18:26:47

njibhu
Участник
Зарегистрирован: 29.11.2011
Сообщений: 6

Вопрос по UPDATE

Нужно сделать следующее:
При обновлении в 1 поле установить cost=FLOOR(min_cost + (RAND() * (max_cost - min_cost))), а во 2 поле cost2=*ПРЕДЫДУЩЕЕ СГЕНЕРИРОВАНОЕ ЗНАЧЕНИЕ ДЛЯ cost* - 20
Как это сделать в 1 запросе? Если cost2=cost-20 то вместо нового значение cost используется старое, что в общем то логично.

Отредактированно njibhu (07.01.2012 18:29:09)

Неактивен

 

#2 07.01.2012 18:52:15

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

Re: Вопрос по UPDATE

http://dev.mysql.com/doc/refman/5.5/en/update.html


update `таблица`, (select  FLOOR(min_cost + (RAND() * (max_cost - min_cost))) as a from `таблица`) t1
set cost=a, cost2=a-20 where ...

Неактивен

 

Board footer

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