复制所有SQL行并同时更改数据

时间:2012-05-25 16:55:01

标签: mysql sql

我想复制表格中的每一行,但在重复行中,一列的值需要覆盖另一列中的现有值(规范化表格的中间步骤)。

所以我需要的是像

INSERT INTO `performers` SELECT * FROM `performers` 
SET `performers`.`piano` = `performers`.`singing`

由于我不擅长上述SQL,正如预期的那样,没有用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

如果只有重复的行需要更改此值,那么您可以修改INSERT

INSERT INTO `performers`(col1, col2, col3, piano, singing)
SELECT col1, col2, col3, singing, singing
FROM `performers` 

答案 1 :(得分:0)

根据您的问题,我认为您要复制该行,然后将singing列的内容复制到piano列?

INSERT INTO performers (row1, row2, row3, piano)
SELECT row1, row2, row3, singing
FROM performers