我有一个SQLite表,如下所示:
CREATE TABLE Cards (id INTEGER PRIMARY KEY, name TEXT)
所以每次我创建一个新行时,SQLite都会自动为它分配一个唯一的ID。
但是,如果我删除一行然后创建一个新行,则新行将具有先前删除的行的ID。
如何确保不会发生?是否有可能以某种方式强制SQLite始终提供真正唯一的ID,甚至与以前删除的行不同?
我可以在代码中执行此操作,但我宁愿让SQLite在可能的情况下执行此操作。有什么想法吗?
答案 0 :(得分:2)
查看autoincrement(INTEGER PRIMARY KEY AUTOINCREMENT)。它将保证这一点,如果请求无法兑现,它将失败并使用SQLITE_FULL。