科普:
SQLite中INTEGER是亲和类型,值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节中。等于INT、INTEGER、TINYINT、SMALLINT、MEDIUMINT、BIGINT、UNSIGNED、BIG INT、INT2、INT8所有类型之和。详细请看:https://www.runoob.com/sqlite/sqlite-data-types.html。以下是sql过程:
创建表:
create table if not exists chat("id" INTEGER PRIMARY KEY,"uid" INTEGER,"sendUid" INTEGER,"content" TEXT,"type" TEXT,"createTime" INTEGER,"read" INTEGER)
插入数据:
insert into chat values(99999999913,1,55,'','text',1576833494028,0)
insert into chat values(99999999914,1,77,'哈哈哈','text',1576833494028,0)
查询数据:
select * from chat order by id asc
显示数据(转的json):
[{"id":1215752105,"uid":1,"sendUid":55,"content":"","type":"text","createTime":580496396,"read":0},{"id":1215752106,"uid":1,"sendUid":77,"content":"哈哈哈","type":"text","createTime":580496396,"read":0}]
为什么要用INTEGER类型,不用TEXT类型?因为TEXT类型排序是首字母依次比较的,所以用不成!
本来以为用REAL类型问题解决了,结果是我误会了。末尾的数字超出后直接给我改成0。是我误会了,再次感谢!
设备:
小米9 miui11.0.2
hbuiderX 2.4.7.20191216-alpha
3 个回复
9***@qq.com
Wqqw
3***@qq.com (作者)
怎么回事
3***@qq.com (作者)
这个问题不重要吗???
l***@21cn.com
你这问题写的啰嗦得很啊,哈哈,是不是要说integer字段无法存储bigint类型的值?我存储时间戳(毫秒)结果变成了负数,楼主最后怎么解决的?
2020-06-27 16:45