[英]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.