2011-06-14 71 views
1

不确定这是否可能在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 

做一些阅读它的出现“SELECT ... FOR UPDATE”可能是一个起点,但我比较无能如何构建这样一个适合这种情况的陈述。

任何意见非常感谢!谢谢。

注意:即使Col_2是我在本例中显示的唯一没有改变的列,实际上我的问题有大约10个未更改的列,但为简单起见,我仅显示了一列。问题是,不应该讨论一个解决方案,明确地关注'只有一列没有改变......希望是明确的。

回答

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'; 
+0

,将工作,但我需要的结果要提交的新表(即插入)。 – jparanich 2011-06-14 18:33:41

+0

啊插入之前,似乎工作。谢谢 – jparanich 2011-06-14 18:57:39