根据UPDATE查询的结果插入新的历史记录行

时间:2016-04-29 17:29:18

标签: mysql

我想

UPDATE table SET column = 1 where column = 0;

INSERT (rows i just updated) INTO history_table;

我可以以某种方式存储选择查询中的ID,然后使用这些来更新并随后将与这些ID匹配的行插入到历史表中吗?

2 个答案:

答案 0 :(得分:0)

INSERT INTO history_table(id) (SELECT id from table WHERE column = 0);

UPDATE table SET column = 1 where column = 0;

这样您只能获取将为history_table更新的ID,然后您可以将它们更新为正确的值。

答案 1 :(得分:-1)

(我还不能发表评论)有一个​​特定的理由来做一个查询吗? 如果没有,那么您可以使用临时表来存储ID并获取它们以进行更新并使用子查询进行插入。