システムカタログのリスト中にエラーが発生しました:そのようなテーブルはありません:temp.sqlite_masterステートメントを実行できません
一般的には、 sqliteのドキュメントを確認してください
整数。値は符号付き整数で、値の大きさに応じて1、2、3、4、6、または8バイトで保存されます。
たとえば、INTEGERストレージクラスには、長さの異なる6つの異なる整数データ型が含まれます。これにより、ディスク上で違いが生じます。ただし、INTEGER値がディスクからメモリに読み込まれて処理されるとすぐに、最も一般的なデータ型(8バイトの符号付き整数)に変換されます。
from http://www.sqlite.org/datatype3.html
他の理由がない限り、TEXTを使用してIPアドレスを保存できます。
2番目の質問について:
2つの方法でDBにIPアドレスを保存できます。
Sqlite3テキストデータ型はUnicodeをサポートしていますか?
はいといいえ。
はい、SQLiteではTEXT
データをUTF-8またはUTF-16で保存できます。 ( PRAGMA ENCODING を使用して、内部形式を選択します。)
いいえ、組み込みのLOWER
およびUPPER
関数はASCII文字にのみ影響します。ただし、 関数の再定義 および- collations このサポートを追加するには、これを行うSQLiteに ICU拡張 があります。
- データベースにIPアドレスをどのように保存しますか?
最も簡単な方法は、文字列形式(たとえば、「127.0.0.1
」または「::1
”)それから、それらを手動で読むことができ、アドレス構造への再解析(必要な場合)は簡単です。 SQLiteは文字列(TEXTタイプを使用)を好み、それらを効率的に処理します。