2013-03-01 3 views
0

Здесь я нашел много похожих вопросов, но извините, попросить об этом еще раз, потому что я не мог понять, как их реализовать в случае, которое у меня есть.Обновление нескольких строк с разными условиями

здесь мое

$upd = "UPDATE users SET friend_requests=CONCAT(friend_requests, ' $_GET[user]') WHERE uid='$_SESSION[uid]', "; 
$upd = mysql_query($upd) or die(mysql_error()); 

$upd = "UPDATE users SET friends_waiting=CONCAT(friends_waiting, ' $_SESSION[uid]') WHERE uid='$_GET[user]'"; 
$upd = mysql_query($upd) or die(mysql_error()); 

Как я могу обновить строку только в одном запросе?

ответ

1
UPDATE users 
    SET friend_requests= 
    CASE 
     WHEN uid='$_SESSION[uid]' THEN CONCAT(friend_requests, ' $_GET[user]')  
     ELSE friend_requests 
     END, 
     friends_waiting= 
    CASE 
     WHEN uid='$_GET[user]' THEN CONCAT(friends_waiting, ' $_SESSION[uid]')  
     ELSE friends_waiting 
     END 
    WHERE uid IN ($_GET[user], $_SESSION[uid]) 
+0

Откуда берется «u»? –

+0

Я просто положил его как ссылку. u может удалить его. –

+0

Я обновил ваш ответ, чтобы исправить проблему. благодаря –

Смежные вопросы