我不明白为什么此查询(这是不正确的(不会引起任何错误:
CREATE TABLE test (
ID,
VARIANT riri fifi lili,
PRIMARY KEY(ID, VARIANT ASC))
也是他们与以下不同的不同之处。
VARIANT TINYINT
VARIANT INTEGER
VARIANT BIGINT
VARIANT UNSIGNED INTEGER
sqlite具有限制的列类型(列亲和力((文本,数字,整数,真实和斑点(。但是,它几乎将任何内容都视为列类型(请参阅下面的SQLite列类型的灵活/限制性( ,并根据一组规则将其转换为一组有限的列类型集: -
- 如果列类型包含int,则将其转换为整数。
- 如果列类型包含char,clob或文本,则将其转换为文本。
- 如果列类型包含斑点,则将其转换为斑点。
- 如果列类型包含真实的,floa或疑问,则将其转换为真实。
- 否则它将其转换为数字。
因此,riri fifi lili
将具有数字的列类型(删除到最后一个规则(。
TINYINT
, INTEGER
, BIGINT
, UNSIGNED INTEGER
都将具有整数的列类型(因为它们都包含int并符合第一规则(。
CHARINT
如果整数(符合第一规则(,则具有列类型。
说,尽管列的类型(亲和力(在检索数据(请参阅下面的sqlite3中的datatypes(时,列实际上可以包含任何类型。请注意,这是一个列是Rowid的列。
在这里可以找到更全面的答案,sqlite列类型的灵活性/修复?
您也可能希望在SQLITE版本3