GUID 作为 SQLite 的唯一键

问题描述 投票:0回答:4

我找到了使用 python 生成 GUID 例程

运行代码给出以下结果。

GUID:00000129e0e72d9b2aab3c1500ac001000e90001
    时间:2010 年 7 月 17 日,星期六 09:55:33(毫秒:0.787)
    IP地址:172.16.233.1
    柜台:715865109

此代码的注释有以下消息。

### GUID 是美妙的数据库密钥。  他们不需要访问 
###数据库(获取最大索引号),它们非常唯一,并且它们排序 
### 按时间自动。   GUID 可防止合并时发生键冲突
### 两个数据库在一起,组合数据,或者在分布式中生成密钥
###系统。

问题

  • 这可以与 SQLite 一起使用吗?据我所知,SQLite中的INTEGER类型是8字节,并且使用8字节,不可能存储值0x00000129e0e72d9b2aab3c1500ac001000e90001或101362835865894089778560972572099193929729以十进制表示。
  • 有什么方法可以使用SQLite获取全局唯一ID吗?
database sqlite guid
4个回答
12
投票

除了占用 32 个字节而不是 16 个字节之外,在 SQLite 中将 GUID 作为文本存储有什么问题?


8
投票

好文章可以帮助您做出决定......

主键:ID 与 GUID:

http://www.codinghorror.com/blog/2007/03/primary-keys-ids-versus-guids.html



-2
投票

每个 SQLite 数据行都有一个 64 位本地唯一标识符。从表中选择 rowid...

© www.soinside.com 2019 - 2024. All rights reserved.