sqlite3:唯一约束

时间:2017-11-22 01:24:33

标签: sqlite

我正在尝试使用Table_A创建一个新数据库。

表-A

id name comments key

1 peter random string 1234

2 sam random string 5678

这是架构:

CREATE TABLE IF NOT EXISTS Table_A (
id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
name VARCHAR(60) NOT NULL,
class TEXT NOT NULL DEFAULT '',
key INTEGER NOT NULL,
UNIQUE(name, key) ON CONFLICT IGNORE);

现在,当我尝试向此表插入元素时,不会插入重复的条目,这是因为

而预期的
UNIQUE(name, key) ON CONFLICT IGNORE);

但是id会增加,我不知道如何解决这个问题。

实际输出:

Table_A
id  name    comments                key
1   peter   random string           1234
26  sam     random string           5678
75  john    random string           1478

预期产出:

Table_A
id  name    comments                key
1   peter   random string           1234
2  sam     random string            5678
3  john    random string            1478

1 个答案:

答案 0 :(得分:2)

documentation中所述,当您删除AUTOINCREMENT关键字时,您将获得自动增量值,而不会显示已删除条目的间隙。