
20.03.2010, 12:24
|
|
Участник форума
Регистрация: 01.02.2007
Сообщений: 286
Провел на форуме: 804931
Репутация:
526
|
|
Сообщение от m0Hze
Наверное глупый вопрос,но Sql это моя слабая сторона(одна из многих  ), а вопрос собственно такой:
Как с помощью одного запроса update отредактировать 2 записи.То есть, хочу что то вроде:
Код:
UPDATE table SET col=val WHERE id=1 and WHERE id=2;
Должно получиться так,что бы отредактировалась и 1 и 2 записи.такой вот запрос есесно непрокатывает,а гугл предлагает только запросы с if-then, что я думаю тут использовать не кошерно, и будет проще составить 2 запроса.А 2 запроса составлять не хочу,ибо данные редактируютсья одинаковые,лишний код,ну вы понеле.
Может под-запросом,мили исчо как измудрится?
Давай всмотримся и вдумаемся в то, что ты написал.
Итак, грубые приближения:
1) ключевое слово WHERE... Оно одно, после него должен идти предикат;
2) "id = 1 AND id = 2".Т.е. id одновременно должен быть равен и 1, и 2. Немного странно, неправда ли? Думаю уместнее будет дизъюнкция
Учитывая вышеизложенное, можем составить запрос:
Код:
UPDATE table SET col=val WHERE id=1 OR id=2;
Уже должно работать... Но выглядит как то странновато, не правда ли? Особенно на больших наборах данных. Для подобных ситуаций был придуман оператор IN:
Код:
UPDATE table SET col=val WHERE id IN(1,2)
|
|
|