2016-12-19 4 views
1

CREATE TABLE tbl(x);のSQLiteデータベースで作成したテーブルを考えてみましょう。データはINSERT INTO tbl VALUES(1); INSERT INTO tbl VALUES(2);です。今私は、私は、PostgreSQLにインポートしたいこのスキーマとデータのSQLファイルを作成したいと、私は次の操作を行います。"mode .insert"のsqliteの出力は正しいですか?

.mode insert 
.output "tbl.sql" 
.schema tbl 
select * from tbl order by x; 
.output stdout 

されて出力される。

CREATE TABLE tbl(x); 
INSERT INTO table VALUES(1); 
INSERT INTO table VALUES(2); 

は出力されません万一の挿入ステートメントのINSERT INTO tbl VALUES(1); INSERT INTO tbl VALUES(2);ですか?

これは問題を解決するために簡単に見つけることができますが、予期しない問題が発生する可能性があります(insert文内のデータを変更するなど)。 fine SQLite manualから

答えて

2

:挿入モードを指定する場合

、あなたが挿入されるテーブルの名前です余分な引数を与えなければなりません。たとえば:

sqlite> .mode insert new_table 
sqlite> select * from tbl1; 
INSERT INTO "new_table" VALUES('hello',10); 
INSERT INTO "new_table" VALUES('goodbye',20); 
sqlite> 

だから.mode insertが明らかにtableであるデフォルトのテーブル名を使用するようにSQLiteの葉を言って。あなたは言っているはずです:

.mode insert tbl 
+0

OOPS !!私はマニュアルでこれをどのように逃したのか分かりません。多くのおかげで、 "muは短すぎます"! – Vijay

関連する問題