我想从列中的每个值获取main_table,subtruct 1(one)的duration列中的值,然后用差异更新相同的列(子结构后的结果),例如
main_table (before any operation)
--------------------------------
id duration
1 x
2 y
3 z
main_table (after update operation)
--------------------------------
id duration
1 x - 1
2 y - 1
3 z - 1
这是我到目前为止尝试过的失败
UPDATE main_table mt, (SELECT duration - 1 AS remaining
FROM main_table mt1
) mt1
SET mt.duration = mt1.remaining
WHERE mt.id = mt1.id
建议大家做到这一点!
答案 0 :(得分:1)
您不需要对此进行子查询,可以使用单个更新语句
完成update main_table
set
duration = duration - 1
答案 1 :(得分:1)
您可以直接使用此列,这将根据您的需要更新列值。 检查一下,可以帮到你。
UPDATE main_table mt
SET mt.duration = mt.duration -1