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

所以我需要的是

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`

10-06 06:22