在单个表中复制mysql行

时间:2014-08-19 03:30:49

标签: php mysql sql database

我有一个mySQL数据库,我希望用新值更新一些行,但保留原件。

例如:在site_files表中,有一个' site_id'柱。我有一堆行site_id' = 981,但我想将其更改为site_id' = 2016(并将原始行保留在981

我希望这是有道理的。我知道使用UPDATE语句会很简单,但我想留下读取981的行。

提前感谢任何想法。

2 个答案:

答案 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获得的值,

否则发布您的代码,其他人会帮助您,

相关问题