小编Pie*_*bon的帖子

MySql中的条件更新

我试图从表中更新值,但我需要添加一些条件.我找到了CASE函数,但如果它是最好的方法,我不是.这是一个例子:

我的桌子就是'关系'

userid1|userid2|name1|name2

我得到了例如:

SELECT * 
  FROM realtion 
 WHERE (userid1 = 3 AND userid2 = 4)
    OR (userid1 = 4 AND userid2 = 3);  
Run Code Online (Sandbox Code Playgroud)

输出:

     
4|3|bill|jack

我想在3和4之间的关系中更改用户3的名称,但我不知道它是userid1还是userid2.

我虽然如此

UPDATE relation 
   CASE WHEN userid1 = 3 THEN SET name1 = 'jack' END 
        WHEN userid2 = 3 THEN SET name2 = 'jack' END 
 WHERE (userid1 = 3 AND userid2 = 4) 
    OR (userid1 = 4 AND userid2 = 3);
Run Code Online (Sandbox Code Playgroud)

但它不起作用!有任何想法吗?首先十分感谢.

mysql sql sql-update

26
推荐指数
2
解决办法
3万
查看次数

标签 统计

mysql ×1

sql ×1

sql-update ×1