当前位置:  开发笔记 > 后端 > 正文

SQLite dataypes长度?

如何解决《SQLitedataypes长度?》经验,为你挑选了3个好方法。

我是SQLite的新手(实际上是5分钟前),但我确实知道Oracle和MySql的后端.

问题:我试图了解SQLite支持的每种数据类型的长度,例如bigint和smallint之间的差异.我搜索过SQLite文档(只讨论亲和力,只关注它吗?),SO线程,谷歌......并没有发现任何东西.

我的猜测:我只是稍微修改了SQL92规范,讲数据类型和它的关系,但不是它的长度,这是很明显我承担.然而,我已经了解了Oracle和MySql数据类型规范,并且指定的长度对于整数至少大致相同.我应该假设SQLite使用相同的长度吗?

旁白问:我是否错过了关于SQLite文档的内容?或者我一般都错过了一些关于SQL的东西?问这个是因为我无法理解为什么SQLite文档没有指定像数据类型长度那样基本的东西.这对我来说没有意义!虽然我确信有一个简单的命令来发现长度..但为什么不把它们写到文档?

谢谢!



1> 小智..:

对于字段类型,SQLite有点奇怪.您可以在任何字段中存储任何类型(IE将blob放入整数字段).它对整数的作用方式是:它取决于.

虽然您的应用程序可能使用长(64位)来存储该值,但如果它实际上<128,那么SQLite将只使用一个字节来存储它.如果值> = 128且<16384则将使用2个字节.该算法(我记得)是它使用每个字节的7位,第8位用于指示是否需要另一个字节.这非常适用于非负值,但会导致所有负值占用9个字节进行存储.



2> Doug Currie..:

在SQLite数据类型中没有长度,值具有长度.您定义为TINYINT的列可以包含BLOB,反之亦然.



3> AndiDog..:

我是SQLite文档的新手,但我发现它不到30秒.

SQLite版本3中的数据类型

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有