我有一个mySQL数据库,我希望用新值更新一些行,但保留原件。
例如:在site_files表中,有一个' site_id'柱。我有一堆行site_id' = 981
,但我想将其更改为site_id' = 2016
(并将原始行保留在981
。
我希望这是有道理的。我知道使用UPDATE语句会很简单,但我想留下读取981的行。
提前感谢任何想法。
答案 0 :(得分:4)
INSERT INTO site_files (site_id, colA, colB, ...)
SELECT '2016', colA, colB, ...
FROM site_files WHERE site_id = '981'
这将得到你想要的,这是插入,而不是更新
答案 1 :(得分:0)
我认为你要做的是,添加另一个site_id,值为2016,但该列的其余部分将匹配981,如果是这样,并且981将保留意味着你不想删除它
您可以按照以下步骤操作;
运行select查询,其中site_id = 981,获取所有列的值,
现在运行insert查询给出site_id = 2016的值,给其他列提供你从select query获得的值,
否则发布您的代码,其他人会帮助您,