テーブル内のすべての行を複製したいのですが、複製された行では、ある列の値が別の列の既存の値を上書きする必要があります (テーブルを正規化するための中間ステップ)。
だから私が必要なのは次のようなものです
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`
From your question I think you want to duplicate the row and then copy content of singing
column into piano
column?
INSERT INTO performers (row1, row2, row3, piano)
SELECT row1, row2, row3, singing
FROM performers