0

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

所以我需要的是

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

由于我不擅长 SQL,正如预期的那样,上面没有工作。有任何想法吗?

4

2 回答 2

1

如果仅重复行需要更改此值,则可以修改INSERT

INSERT INTO `performers`(col1, col2, col3, piano, singing)
SELECT col1, col2, col3, singing, singing
FROM `performers` 
于 2012-05-25T17:00:57.657 回答
0

根据您的问题,我认为您想复制该行然后将列的内容复制singingpiano列中?

INSERT INTO performers (row1, row2, row3, piano)
SELECT row1, row2, row3, singing
FROM performers
于 2012-05-25T17:02:55.237 回答