|
Hi listers, I have 6 records in a Sqlite3 database. Since it's my first steps, I decide to create a short example: require('lsqlite3') db = sqlite3.open('test.dbl') print(db:last_insert_rowid()) The last rowid is undoubtedly 6, but I receive 0 as an answer. So I decide to verify what Sqlite3 say. In the command line, I typed: select last_insert_rowid() from contacts; I got 6 zeros, one per each row. In the Sqlite3 interface, I inserted one record more. Imediately the answer was 7. Well, if I insert a record with a Lua function, the rowid is not updated? If I insert a record with Sqlite, it does? So, what is the code I used to insert values in this table? function insert(record) local ins = db:prepare[[insert into contacts values(:id, :date, :name, :phone, :mobile, :mail, :birthday, :note)]] ins:bind_names(data) ins:step() ins:reset() end What I really want is to obtain, using Lsqlite3, the last rowid from this table: create table contacts ( id integer primary key not null, entry date not null, name text not null, phone text, mobile text, birthday int, note text ); What I have done wrongly?
Luciano |