2017-08-10 2 views
0

SQLiteのCLIで次のコマンドを実行すると、(省略記号は、実際のコマンドで展開されている)は動作しません:sqliteのCLI - クエリの作成、大きな実行することはできません

create table a ('c0, c1, c2, c3, ..., c1000');

私はちょうど...>が残っていますこのエラーメッセージが表示されなくなるまでプロンプトを表示します。

Error: unrecognized token: "'c0, c1, ..., c697,"(楕円が展開されています)。

ちなみに、最大698列のテーブルを作成することは可能です。

私は実際にSQLiteの限界に遭っているようには思えませんが、なぜこれが起こりますか? https://www.sqlite.org/limits.html

SQLITE_MAX_COLUMNのデフォルト設定は2000

SQL文のテキストの最大バイト数はどの目的のために1000000

(デフォルトはSQLITE_MAX_SQL_LENGTHに制限されています

+0

あなたの作成ステートメントに '()'の内容として大きな文字列があります。どうして? – Yunnosch

+0

申し訳ありませんが、私も引用符なしで試してみました。そして、 'c1'、 'c2'、... – scip

+0

しかし、エラーは異なっていたはずです... – Yunnosch

答えて

1

入力された行には、Windowsコンソールには4096バイトの制限があるように見えます。

他のメカニズム(たとえば、ファイルから.read)でその文字列を実行すると問題なく動作します。

+0

ありがとう!この問題は、Linuxコンソールにも影響します。 '.read command.txt'は期待どおりに動作します – scip

関連する問題