我正在创建这样的表:
CREATE TABLE foobar (id uniqueidentifier,foo text,bar text,PRIMARY KEY (id))
如何在表foobar中插入或生成id字段的值?
您可以认为sqlite根本不支持数据类型。在sqlite3中,您可以这样做。
sqlite> create table test (id wibblewibble primary key);
sqlite将很乐意创建一个带有“数据类型”wibblewibble的列。 sqlite还将很高兴地使用“数据类型”uuid,guid和SuperChicken创建列。
对你来说,关键点可能是如何自动生成uid。 sqlite无法帮助你。
您可以将其完全置于客户端程序中。如果您使用python编程,请使用uuid module.在ruby中,您具有SecureRandom.uuid function.其他语言具有类似的功能或解决方法。
你可以在C中编写你自己的uid生成函数(见Create or Redefine SQL Functions.)我把它称为一个比较极端的方法。
在线的其他对话表明,对于UUID是一个广泛的误解。 UUID不是简单的128位随机数。 UUID有结构和规则。见RFC 4122。