SQLでは、Select into ...
は行を別の(バックアップ)テーブルにコピーします。バックアップテーブルの構造(または列名)が異なる場合、これは可能ですか?そうでない場合、これを達成するための最良の方法は何ですか?
これが私がやりたいことです:TableA
には列a1,a2,a3
があります。このテーブルのいくつかの行を、列b1,b2,b3,b4
を持つ別のテーブルTableB
にコピーしたい。 a1
のコンテンツはb1
に、a2
はb2
に移動します。
列名は、データ型である限り、まったく問題ではありません一致。
列のデータ型が一致しない場合は、それに応じて値をキャストしてみてください。 小さなダミーテーブルで試してみてください。混乱を避けるために、ターゲット列を明示的にリストしてください。このような:
INSERT INTO TableB (b1, b2, b3)
SELECT a1, a2, a3
FROM TableA
WHERE <some condition>;
詳細については、SQLiteのマニュアル here を参照してください。