不确定这是否可以在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个未改变的列,但为了简单起见我只显示了一个;重点是,不应该讨论一个解决方案,明确地只关注一个未改变的列...希望这是明确的。
答案 0 :(得分:0)
尝试使用UNION子句:
SELECT Col_1, Col_2, Col_3 FROM tablename
UNION
SELECT 'DDD' AS 'Col_1', Col_2, '0' AS Col_3
FROM tablename
WHERE Col_1 = 'AAA';