Соеденить несколько запросов к БД

FatalError

Новичок
Привет всем.
Делаю чат рулетку 1x1, написал несколько строк для установки партнера пользователю:
PHP:
$id = $_SESSION['id'];
$query = 'SELECT id FROM webchat_users WHERE partner = 0 AND id <> '.$id.' ORDER BY RAND() LIMIT 1';
$query = mysql_query($query);
$partnerID = mysql_fetch_row($query);
$partnerID = array_shift($partnerID);
$query = 'UPDATE webchat_users SET partner = '.$id.' WHERE id = '.$partnerID;
mysql_query($query);
$query = 'UPDATE webchat_users SET partner = '.$partnerID.' WHERE id = '.$id;
mysql_query($query);
Помогите как-нибудь соединить запросы в один или в два, если это вообще нужно.
 

ksnk

прохожий
PHP:
$query =sprintf('UPDATE webchat_users SET partner = if(`id`=%1$d,%2$d,%1$d) WHERE id in (%1$d,%2$d);',$id,$partnerID);
 

FatalError

Новичок
Спасибо огромное, про if в sql запросах не знал. На досуге почитаю поподробнее.
 

Breeze

goshogun
Команда форума
Партнер клуба
внимание, вопрос.
что в черном ящике? что будет, если между селектом и апдейтом этого скрипта вклинится другой запрос со своим селектом с другим $id, но выберет того же $partnerID ?
 
Сверху