2016-07-18 5 views
0

クエリ結果を使用してテーブルを作成したいと思います。しかし、私はまたそれに自動インクリメントプライマリキーフィールドを追加したい。それはSQLiteを使用してそれを達成することは可能ですか?クエリ結果によって作成された新しいテーブルにプライマリキーを追加します

例: table_aから2つのフィールドを選択します。しかし、出力スキーマは(id、field_a、field_b)としたい。

create table foo as 
    select field_a, field_b 
    from tablel_a 

現在、SQLite 3を使用していますが、他のデータベースシステムを使用しているソリューションも問題ありません。デフォルトのsqliteによって

答えて

1

これではありません。この列をROWIDの

チェックを使用できるようには、作成するすべてのテーブルに列をROWIDの追加します単一のステートメントで可能。 CREATE TABLE ... AS ...は制約を作成しません。

次の2つのステートメントを使用する必要があります。

CREATE TABLE foo (ID INTEGER PRIMARY KEY, [...]); 
INSERT INTO foo (...) SELECT ...; 
+0

はい、これは私が望んでいた解決策があります! – xuanyue

関連する問題