Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объединение UPDATE [MySQL]


Страницы:   1 2

Шоломицкий С. А. ©   (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]

Синтаксис неправильный.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо