行を複製してテーブルに挿入する方法を探していましたが、ID 値が異なります (タイプは自動インクリメントです)。
すべての列を手動で指定することでこれを行うことができますが、多くの列があり、列が将来追加または削除される可能性があるため、すべての列名を指定することなく簡単なクエリを使用してこれを実行したいと考えています。
行を複製してテーブルに挿入する方法を探していましたが、ID 値が異なります (タイプは自動インクリメントです)。
すべての列を手動で指定することでこれを行うことができますが、多くの列があり、列が将来追加または削除される可能性があるため、すべての列名を指定することなく簡単なクエリを使用してこれを実行したいと考えています。
これを試して:
CREATE TEMPORARY TABLE temp_table SELECT * FROM source_table WHERE ...;
ALTER TABLE temp_table DROP COLUMN column_with_auto_increment;
INSERT INTO source_table SELECT * from temp_table; DROP TABLE temp_table;
試す
INSERT INTO new_table (attr1, attr2, attr3) SELECT oldatr1, oldatr2, oldatr3 FROM old_table WHERE <the filter you want>
new_table と old_table が同じ場合にも機能する可能性があります。