我正在尝试UPDATE
从表中获取值,但我需要添加一些条件。我找到了函数CASE
,但如果它是最好的方法,我不是。
这是一个例子。我的表是“关系”:
用户 ID1 | 用户 ID2 | 名称1 | 名称2
例如,我得到:
SELECT *
FROM relation
WHERE (userid1 = 3 AND userid2 = 4)
OR (userid1 = 4 AND userid2 = 3);
输出:
4 | 3 | 账单 | 杰克
我想在 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);
但它不起作用!有任何想法吗?
首先十分感谢。