在MySQL表中的行上复制和替换字段值

问题描述

| 不确定在MysqL中是否可行,但是我希望在以下方面获得指导或指导。 说我有这样的桌子
Col_1 Col_2 col_3
AAA   56    3
AAA   99    3
AAA   100   3
BBB   43    1
BBB   66    1
CCC   33    0
并且我想复制Col_1 = AAA的行,但将\“ AAA \”替换为\“ DDD \”并将col_3设置为0。 即执行适当的命令后,表格如下所示
Col_1 Col_2 col_3
AAA   56    3
AAA   99    3
AAA   100   3
BBB   43    1
BBB   66    1
CCC   33    0
DDD   56    0
DDD   99    0
DDD   100   0
进行一些阅读,似乎“选择...进行更新”可能是一个起点,但相对而言,如何构造适合这种情况的语句却一无所知。 任何意见是极大的赞赏!谢谢。 注意:尽管Col_2是我在此示例中显示的唯一未更改的列,但实际上我的问题大约有10个未更改的列,但为简单起见,我仅显示一个。关键是,不应讨论将解决方案明确地集中在仅一栏不变的解决方案上,希望这是明确的。     

解决方法

        尝试使用UNION子句:
SELECT Col_1,Col_2,Col_3 FROM tablename
UNION
SELECT \'DDD\' AS \'Col_1\',\'0\' AS Col_3
FROM tablename
WHERE Col_1 = \'AAA\';