私はこのようなことをしたい:
INSERT INTO T SELECT * FROM T WHERE Column1 = 'MagicValue' -- (multiple rows may be affected)
問題は、T に主キー列があるため、主キーを設定しようとしているかのようにエラーが発生することです。率直に言って、主キーも設定したくありません。新しい主キーを使用してまったく新しい行を作成したいのですが、残りのフィールドは元の行からコピーされます。
これは、さまざまなテーブルに適用可能な汎用コードであると想定されています。これを行う良い方法がない場合は、列名を動的に抽出したり、リストを作成したりするコードを記述します。データベースなどで重複する行を作成しようとしたのは私が初めてでしょうか?