5

SQLite3スクリプトを実行せずに構文をチェックする方法はありますか?

ruby -c script.rb基本的perl -c script.plに、、、、などに相当するSQLite3を探していますphp --syntax-check script.php

を使用することを考えましexplainたが、確認したいスクリプトのほとんどは、参照用に保持されています(必ずしも、関連付けられたデータベースがあるとは限りません)。また、を使用すると、 Syntasticexplainのようなものでの使用が難しくなります。(つまり、セマンティクスではなく、構文のみをチェックしたいのです。)

アップデート:

よくわかりません。これを構文チェックしたいとしましょう:

select * from foo;

私は次のようなことをすることができます:

echo 'explain select * from foo;' | sqlite3

しかし、それから私は得る:

SQL error near line 1: no such table: foo

私が期待するのは「SyntaxOK」(または同様のもの)だけです。それは可能ですか?

4

3 に答える 3

1

あなたが言ったように、あなたはEXPLAINキーワードを使うことができます。前のEXPLAINキーワードを省略した場合に、ステートメントがどのように実行されるかについての情報が返されます。

于 2010-05-27T18:38:17.093 に答える
0

インメモリデータベースに対してEXPLAINを使用できる可能性があります。sqlite3では、ファイル名として「:memory:」をsqlite3_open_v2()に渡すことで、インメモリデータベースを取得できます。

于 2010-05-27T18:36:32.867 に答える