问题描述
|
不确定在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\';