如何确保SQLite永远不会创建具有相同ID的行两次?

时间:2011-08-11 13:15:45

标签: sqlite uniqueidentifier

我有一个SQLite表,如下所示:

CREATE TABLE Cards (id INTEGER PRIMARY KEY, name TEXT)

所以每次我创建一个新行时,SQLite都会自动为它分配一个唯一的ID。

但是,如果我删除一行然后创建一个新行,则新行将具有先前删除的行的ID。

如何确保不会发生?是否有可能以某种方式强制SQLite始终提供真正唯一的ID,甚至与以前删除的行不同?

我可以在代码中执行此操作,但我宁愿让SQLite在可能的情况下执行此操作。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

查看autoincrement(INTEGER PRIMARY KEY AUTOINCREMENT)。它将保证这一点,如果请求无法兑现,它将失败并使用SQLITE_FULL。