SQLite の varchar データ型の最大サイズ制限は何ですか? 質問する

SQLite の varchar データ型の最大サイズ制限は何ですか? 質問する

私は sqlite を初めて使います。sqlite の varchar データ型の最大サイズ制限を知りたいのですが。

これに関連する情報を教えてもらえますか?sqlite.orgのサイトで調べたところ、答えは:

質問。SQLite の VARCHAR の最大サイズはどれくらいですか?

A.SQLite は VARCHAR の長さを強制しません。VARCHAR(10) を宣言すると、SQLite は 500 文字をそこに入力することを許可します。また、500 文字すべてがそのまま保持され、切り捨てられることはありません。

しかし、SQLite の varchar データ型の正確な最大サイズ制限を知りたいです。

ベストアンサー1

からhttp://www.sqlite.org/limits.html

文字列またはBLOBの最大長

SQLite の文字列または BLOB の最大バイト数は、プリプロセッサ マクロ SQLITE_MAX_LENGTH によって定義されます。このマクロのデフォルト値は10億です(1 兆万または 1,000,000,000)。この値は、次のようなコマンドライン オプションを使用してコンパイル時に増減できます。

-DSQLITE_MAX_LENGTH=123456789 現在の実装では、231-1 または 2147483647 までの文字列または BLOB の長さのみがサポートされます。また、hex() などの一部の組み込み関数は、その時点よりかなり前に失敗する可能性があります。セキュリティに敏感なアプリケーションでは、文字列と BLOB の最大長を増やさない方がよいでしょう。実際、可能であれば、文字列と BLOB の最大長を数百万の範囲に下げた方がよい場合があります。

SQLite の INSERT および SELECT 処理の一部では、データベース内の各行の完全な内容が単一の BLOB としてエンコードされます。したがって、SQLITE_MAX_LENGTH パラメータは行の最大バイト数も決定します。

おすすめ記事