Нужно сделать следующую вещь.Допустим есть таблица с двумя полями(id , pole(int))
Мне надо прибавить еденицу в поле pole где id = 30, 50 и 60.
Ну в общем надо чтобы прибавилсь по еденице в поле pole на строках c номером id = 30 id = 50 id =60
Как это сделать?
Здравствуйте, LOH, Вы писали:
LOH>Нужно сделать следующую вещь.Допустим есть таблица с двумя полями(id , pole(int))
LOH>Мне надо прибавить еденицу в поле pole где id = 30, 50 и 60.
LOH>Ну в общем надо чтобы прибавилсь по еденице в поле pole на строках c номером id = 30 id = 50 id =60
LOH>Как это сделать?
update таблицы set pole=pole + 1 where id=30 or id=50 or id=60;
http://dev.mysql.com/doc/mysql/ru/UPDATE.html
Здравствуйте, LOH, Вы писали:
LOH>Нужно сделать следующую вещь.Допустим есть таблица с двумя полями(id , pole(int))
LOH>Мне надо прибавить еденицу в поле pole где id = 30, 50 и 60.
LOH>Ну в общем надо чтобы прибавилсь по еденице в поле pole на строках c номером id = 30 id = 50 id =60
LOH>Как это сделать?
Незнаю, как MySQL, но в других серверах Я обычно так пишу:
update таблица
set pole = pole + 1
where id in (30, 50, 60)
Дружба не наследуется и не транзитивна.
©Бьерн Страуструп
Здравствуйте, LOH, Вы писали:
LOH>Нужно сделать следующую вещь.Допустим есть таблица с двумя полями(id , pole(int))
LOH>Мне надо прибавить еденицу в поле pole где id = 30, 50 и 60.
LOH>Ну в общем надо чтобы прибавилсь по еденице в поле pole на строках c номером id = 30 id = 50 id =60
LOH>Как это сделать?
Что мешает сделать это в несколько запросов?
<?PHP
$res = mysql_query("select id, pole from table where ((id=30) | (id=50) | (id=60))");
while($row = mysql_fetch_array($res))
mysql_query("update table set pole=".($res[1]+1)." where id=$res[0]");
?>
Ну или что-то в этом духе...
Медленно, криво, но работает.
WinAmp играет: Elvis Presley — Such A Night
Здравствуйте, Paranoik, Вы писали:
P>Здравствуйте, LOH, Вы писали:
LOH>>Нужно сделать следующую вещь.Допустим есть таблица с двумя полями(id , pole(int))
LOH>>Мне надо прибавить еденицу в поле pole где id = 30, 50 и 60.
LOH>>Ну в общем надо чтобы прибавилсь по еденице в поле pole на строках c номером id = 30 id = 50 id =60
LOH>>Как это сделать?
P>Незнаю, как MySQL, но в других серверах Я обычно так пишу:
P>P>update таблица
P>set pole = pole + 1
P>where id in (30, 50, 60)
P>
да да, точно, в мускуле оно тоже есть..
http://dev.mysql.com/doc/mysql/ru/Comparison_Operators.html
expr IN (value,...)
Возвращает 1, если выражение expr равно любой величине из списка IN, иначе — 0. Если все величины — константы, то они оцениваются в соответствии с типом выражения expr и сортируются. Поиск элемента в этом случае производится методом логического поиска. Это означает, что функция IN является очень быстрой, если список значений IN состоит полностью из констант. Если expr является зависимым от регистра строковым выражением, то сравнение строк производится с учетом регистра: mysql> SELECT 2 IN (0,3,5,'wefwf');
-> 0
mysql> SELECT 'wefwf' IN (0,3,5,'wefwf');
-> 1
Начиная с 4.1 (в соответствии со стандартом SQL-99), IN возвращает NULL не только если выражение в левой части является NULL, но также если не найдено соответствия в списке и одно из выражений в списке является величиной NULL.
expr NOT IN (value,...)
То же справедливо и для функции NOT (expr IN (value,...)).