Объединение запросов в один

Тема закрыта
319
.

Доброго времени суток. Есть два запроса:
mysql_query('UPDATE `artist` SET `count_album` = `count_album`-"1" WHERE `id` = "1"');

mysql_query('UPDATE `artist` SET `count_album` = `count_album`+"1" WHERE `id` = "2"');

Запросы гласят:
У записи которой id = 1 в таблице artist мы отнимаем в поле `count_album` число, а к другой записи с id = 2 мы прибавляем это число.

Можно ли это объединить в один запрос? Число отнимания и прибавления постоянное, а вот ID нет.

.
ValekS
Ей 25

FixleR, кажись нет... А чем так не устраивает?
Вообще можно объединить те запросы, которые что-то вытаскивают или заносят. А делейт, апдейт походу не объединяются. Во всяком случае я такого не видел.

.

а если разбить запрос на части, и сделать запись спомощью if() , можно попробовать

.

ValekS, Запросов просто многовато получается на одной странице, помимо этих )

.

Saniok, как это разбить на части?

.

if(1==1) $sql = 'count _ album ` =
` count _album ` -" 1 " WHERE `id` = " 1 "';
if(2==2)
$sql = 'count _ album ` =
` count _album ` -" 1 " WHERE `id` = " 1 "';
mysql _query (' UPDATE `artist ` SET ` "'.$sql.'"'); не можно ли так?

.
venom
Люди берегите воду - пейте пиво...

FixleR,

Попробуй, но я не уверен... (+/-)
if ($id) {
$req = mysql_query("SELECT * FROM `artist` WHERE `id` = '$id'");
if (mysql_num_rows($req)) {
$res1 = mysql_fetch_assoc($req);
$sort = $res1['count_album'];
$req = mysql_query("SELECT * FROM `artist` WHERE `count_album` > '$sort' ORDER BY `id` ASC LIMIT 1");
if (mysql_num_rows($req)) {
$res = mysql_fetch_assoc($req);
$id2 = $res['id'];
$sort2 = $res['count_album'];
mysql_query("UPDATE `artist` SET `count_album` = '$sort2' WHERE `id` = '$id'");
mysql_query("UPDATE `artist` SET `count_album` = '$sort' WHERE `id` = '$id2'");
}
}
}
.

Saniok, Не, не то будет.

.

venom, O.o Это что-то слишком грамозко.

.

Ладно, спасибо всем. Оставлю как есть)

Всего: 13