繁体   English   中英

在单个表中复制mysql行

[英]copying mysql rows within single table

我有一个mySQL数据库,希望使用新值更新某些行,但保留原始数据不变。

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

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

预先感谢您的任何想法。

INSERT INTO site_files (site_id, colA, colB, ...)
SELECT '2016', colA, colB, ...
FROM site_files WHERE site_id = '981'

这将得到您想要的,这是插入,而不是更新

我认为您正在尝试执行的操作是,添加另一个site_id,其值为2016,但如果是这种情况,那么该列的其余部分将匹配981,而保留981则意味着您不想删除它

您可以按照以下步骤操作;

运行select查询,其中site_id = 981,获取所有列的值,

现在运行插入查询,为site_id = 2016提供值,为其他列提供从选择查询中获得的值,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM