我有以下SQLite代码。如何在每行中插入自动生成的唯一ID?
tx.executeSql('DROP TABLE IF EXISTS ENTRIES'); tx.executeSql('CREATE TABLE IF NOT EXISTS ENTRIES (id unique, data)'); tx.executeSql('INSERT INTO ENTRIES (id, data) VALUES (1, "First row")'); tx.executeSql('INSERT INTO ENTRIES (id, data) VALUES (2, "Second row")');
您可以将其定义id为自动递增列:
id
create table entries (id integer primary key autoincrement, data)
正如MichaelDorner指出的那样,SQLite文档说an可以integer primary key做同样的事情,并且速度稍快。该类型的列是其别名rowid,其行为类似于自动增量列。
integer primary key
rowid
create table entries (id integer primary key, data)
此行为是隐式的,可能会使经验不足的SQLite开发人员措手不及。