web-dev-qa-db-ja.com

sqliteのvarcharデータ型の最大サイズ制限は何ですか?

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

誰かがこれに関連するいくつかの情報を私に提案できますか?私はsqlite.orgサイトで検索しました 次のように答えてください

Q。SQLiteのVARCHARの最大サイズはいくつですか?

A。SQLiteはVARCHARの長さを強制しません。 VARCHAR(10)を宣言すると、SQLiteが500文字を入力できるようになります。そして、500文字すべてをそのまま保持します-切り捨てることはありません。

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

39
Priyanka

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

文字列またはBLOBの最大長

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

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

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

39
Felipe Sabino