![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Объединение UPDATE [MySQL]
Шоломицкий С. А. © (2007-01-31 20:20:00)Всех приветствую! Скажи пожалуйста, что здесь неправильно?
(UPDATE table SET 'col'=0 where 'col'=1) UNION (UPDATE table SET 'col'=2 where 'col'=3)
Шоломицкий С. А. (2007-01-31 22:57:00) [21]будет проблема...это я тут написал 2 условия.., а вообще их больше...и будут накладываться друг на друга((
Anatoly Podgoretsky (2007-01-31 22:46:00) [22]> Шоломицкий С. А. (31.01.2007 22:43:09) [9]
А ты местами их поменяй и проблемы не будет.
Шоломицкий С. А. (2007-01-31 22:43:00) [23]мне нельзя использовать 2 запроса вот почему:
если в первый запрос такой
UPDATE table SET 'col'=0 where 'col'=1;
а второй такой
UPDATE table SET 'col'=2 where 'col'=0
то в итоге, та запись, что была изменена в первом запросе поменяется ещё раз! а мне надо чтобы она не изменялась. Чтобы все цифры разом заменились на другие в зависимости от их значения, а не повторно просмотирвалась база и уже изменённые менялись заново.
Надеюсь, у меня получилось объяснить, что мне нужно.
Можно конечно пробегатьсяпо всем записям подряд один раз и выполнять много запросов...но этого очень бы не хотелось
Anatoly Podgoretsky (2007-01-31 22:37:00) [24]> Шоломицкий С. А. (31.01.2007 22:30:07) [7]
Ну у тебя то два и почему то странное слово UNION, что не применимо для запросов не возвращающих данных. Но если бы было разрешено, то сначала бы выполнился один запрос, потом второй, что и достигается выбрасыванием UNION.
Шоломицкий С. А. (2007-01-31 22:30:00) [25]
> UPDATE table1
> SET col=col-1
> WHERE col=1 OR col=3
к чему это??
объясняю подроблнее, что мне нужно:
можно было двумя запросами, к примеру:
UPDATE table SET 'col'=0 where 'col'=1;,а
UPDATE table SET 'col'=2 where 'col'=3;
надо одним.
Тоесть, если в поле стоит '0' , то его надо заменить на '1', если
стоит '2', то заменить на '3'
Виталий Панасенко (2007-01-31 21:51:00) [26]м-да
sniknik (2007-01-31 21:31:00) [27]шедевр просто! только ради него (мысли вслух: может собственный орешник организовать?)
UPDATE table1
SET col=col-1
WHERE col=1 OR col=3
(хотя надежды мало, все равно счас выяснится не это нужно...)
Anatoly Podgoretsky (2007-01-31 21:16:00) [28]> Шоломицкий С. А. (31.01.2007 20:20:00) [0]
Что ты здесь хотел сказать?
Johnmen (2007-01-31 20:58:00) [29]mysql.ru подскажет
Шоломицкий С. А. (2007-01-31 20:52:00) [30]понятно, что что-то неправильно
ну а как тогда правильно, может подскажете?
Johnmen (2007-01-31 20:49:00) [31]Синтаксис неправильный.