我是SQLITE的新手,我注意到只有4种数据类型,但我在网上看到了一些例子,人们都在放入自己的数据类型。我真的不太明白这一点,不知道是否有人能给我解释一下。例如,我看到一个包含日期的列,给出的数据类型是timestamp,但它并不存在。它的默认值是什么?当您创建自己的文本时,它是否默认为文本?
发布于 2011-12-07 23:00:01
sqlite3使用动态类型系统。只有五个存储类别: NULL、integer、real、text和blob。(来源:Datatypes In SQLite Version 3。)
引用这一页:
除了整数主键列之外,SQLite版本3数据库中的任何列都可用于存储任何存储类的值。
除了integer primary key异常,SQLite根本不强制类型。这意味着您在create table中输入的类型名称纯粹是信息性的。
create table mytab (a apples, b bananas);是有效的create table语句。您可以在这两列中插入时间戳、文本和blobs (并不是说您应该这样做,但您可以这样做)。
有关更多信息,请查看类型系统的链接参考文档。
sqlite> create table mytab (a apples, b bananas);
sqlite> insert into mytab values (CURRENT_TIME, NULL);
sqlite> insert into mytab values ('hello', 3.14159);
sqlite> select * from mytab;
14:59:18|
hello|3.14159直接回答你的问题:没有默认值。存储类型与存储在数据库中的每个值相关联,而不是与表的列相关联。
https://stackoverflow.com/questions/8417217
复制相似问题