为什么更新查询条件失败

时间:2017-10-31 06:47:09

标签: php mysql sql

我有sql表如下

id      position
------------
1       2
2       1
3       3

现在我想执行返回结果的操作如下

 id     position
    ------------
    1       1
    2       2
    3       3

那我该怎么办?

2 个答案:

答案 0 :(得分:1)

使用两个变量来存储具有1和2的ID的position列值。然后使用CASE表达式相应地更新表。

<强>查询

set @a := (select `position` from `your_table_name` where id = 1);
set @b := (select `position` from `your_table_name` where id = 2);

update `your_table_name`
set `position` = (
    case `id` when 1 then @b else @a end
)
where `id` < 3;

答案 1 :(得分:0)

什么是UPDATE table_name SET your_field_name= '2' WHERE id = 1

试试这个close spider