我想复制表中的每一行,但在重复行中,一列的值需要覆盖另一列中的现有值(规范化表的中间步骤)。
所以我需要的是
INSERT INTO `performers` SELECT * FROM `performers`
SET `performers`.`piano` = `performers`.`singing`
由于我不擅长 SQL,正如预期的那样,上面没有工作。有任何想法吗?
如果仅重复行需要更改此值,则可以修改INSERT
:
INSERT INTO `performers`(col1, col2, col3, piano, singing)
SELECT col1, col2, col3, singing, singing
FROM `performers`
根据您的问题,我认为您想复制该行然后将列的内容复制singing
到piano
列中?
INSERT INTO performers (row1, row2, row3, piano)
SELECT row1, row2, row3, singing
FROM performers