Sqlite3用户定义的数据类型

时间:2015-04-15 11:14:57

标签: sqlite

我可以像这样创建表格:

CREATE TABLE mytable
(
name text,
surname varchar
)

我也可以像这样创建表格:

CREATE TABLE mytable2
(
name BLABLA,
surname mygrandpaType
)

我知道SQLite中text和varchar之间没有差异。但即使在第二个表中,我也可以插入并从中选择查询并且工作正常。 在SQLite中使用datataype方法有什么用呢?

1 个答案:

答案 0 :(得分:0)

INTEGER PRIMARY KEY之外的任何列都可以保存任何类型的值。指定的数据类型只是一个提示,它被称为类型关联。

确定类型亲和力:

  
      
  • 如果声明的类型包含字符串" INT"然后它被赋予INTEGER亲和力。

  •   
  • 如果声明的列类型包含任何字符串" CHAR"," CLOB"或" TEXT"然后该列具有TEXT亲和力。请注意,VARCHAR类型包含字符串" CHAR"因此被分配了TEXT亲和力。

  •   
  • 如果列的声明类型包含字符串" BLOB"或者,如果未指定类型,则该列具有亲和力NONE。

  •   
  • 如果列的声明类型包含任何字符串" REAL"," FLOA"或" DOUB"然后该列具有REAL亲和力。

  •   
  • 否则,亲和力为NUMERIC。

  •   

因此,您的BLABLA列会获得NUMERIC亲和力。

进一步阅读:https://www.sqlite.org/datatype3.html