sql-SQLite3整数最大值

  1. sqlite3中数据类型INTEGER的最大值是多少?
  2. 您如何在数据库中存储IP地址?
  3. 附件是什么?
  4. 如何使用sql ddl创建属于特定数据库的表?
  5. 这个错误是关于什么的?

系统清单错误   目录:没有这样的表:temp.sqlite_master   无法执行语句

  1. sqlite3文本数据类型是否支持unicode?谢谢。
nicholas asked 2020-02-13T14:54:47Z
5个解决方案
87 votes
  1. 查看[http://www.sqlite.org/datatype3.html]最小值为-(263)== -9223372036854775808,最大值为263-1 == 9223372036854775807
  2. 我认为您应该使用varchar
  3. [http://www.sqlite.org/lang_attach.html]
  4. [http://www.sqlite.org/lang_createtable.html]
  5. 可能对SQLite'no such table'错误有帮助

通常查看sqlite文档

Gabriele Petrioli answered 2020-02-13T14:55:21Z
6 votes

整数。 该值是一个有符号的   整数,存储在1、2、3、4、6或8中   字节取决于大小   价值。

INTEGER存储类,用于   例如,包含6个不同的整数   不同长度的数据类型。 这个   在磁盘上有所作为。 但是作为   读取INTEGER值后   磁盘并放入内存进行处理,   他们被转换成最普通的   数据类型(8字节有符号整数)。

来自[http://www.sqlite.org/datatype3.html]

除非有其他原因,否则可以使用TEXT存储IP地址。

dheerosaur answered 2020-02-13T14:55:55Z
3 votes

关于第二个问题:

您可以通过两种方式将IP地址存储在DB中:

  1. 作为字符串。 推荐这个因为它将同时支持IPv4和IPv6,不需要IP地址的其他麻烦转换。
  2. 作为整数。 IP基本上是4个字节,可以全部合并为一个整数值。 但是,您真的想要吗? 这将使您在需要时随时将其转换为字符串或从字符串转换为字符串。
bezmax answered 2020-02-13T14:56:29Z
2 votes
  • 您如何在数据库中存储IP地址?

最简单的方法是存储字符串形式(例如“ 127.0.0.1”或“ ::1”),因为这样您就可以手动阅读它们,并且很容易地解析到地址结构(如果需要)。 SQLite喜欢字符串(使用TEXT类型)并有效地处理它们。

Donal Fellows answered 2020-02-13T14:56:54Z
2 votes

sqlite3文本数据类型是否支持   unicode?

是的,没有。

是的,在该SQLite中,您可以将TEXT数据存储在UTF-8或UTF-16中。 (使用PRAGMA ENCODING选择内部格式。)

不可以,因为内置的LOWERUPPER函数仅影响ASCII字符。 但是您可以重新定义功能和排序规则以添加此支持。 有一个针对SQLite的ICU扩展可以做到这一点。

dan04 answered 2020-02-13T14:57:29Z
translate from https://stackoverflow.com:/questions/4448284/sqlite3-integer-max-value