我有sql表如下
id position
------------
1 2
2 1
3 3
现在我想执行返回结果的操作如下
id position
------------
1 1
2 2
3 3
那我该怎么办?
答案 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