SQLite FAQ指出SQLite uses dynamic typing。但是我找不到如何将动态类型值写入数据库的描述。从Oracle我知道SYS.ANYDATA类型,但我在SQLite文档中找不到类似的东西。
如何在SQLite数据库中存储动态类型值?
答案 0 :(得分:3)
您不需要为列指定类型约束。
而不是像:
CREATE TABLE example (x ANY)
您只需要使用
CREATE TABLE example (x)
这会导致列的类型亲和力为NONE。
具有亲缘关系NONE的列不喜欢一个存储类而不是另一个存储类,并且不会尝试将数据从一个存储类强制转换为另一个存储类。
请参阅https://www.sqlite.org/datatype3.html
上的类型亲和力而且,对于奖金,SYS.ANYDATA.getTypeName(X)
的相应功能是typeof(X)
:
typeof(X)函数返回一个字符串,表示表达式X的数据类型:" null"," integer"," real",&# 34; text",或" blob"。