Can I use this function call in C code to return last rowid to be inserted?.
On Sat, Feb 6, 2010 at 9:25 AM, Vasanta <vtan...@gmail.com> wrote: > I found this C function call, this solved my problem, > sqlite3_last_insert_rowid()<http://www.sqlite.org/c3ref/last_insert_rowid.html>, > I just want to append new entries to existing imported table. > > > > > > > > On Sat, Feb 6, 2010 at 8:36 AM, Ibrahim A <ibrahim.a...@googlemail.com>wrote: > >> Am 05.02.2010 22:33, schrieb Vasanta: >> > Kittayya: >> > >> > My issue is, I already have imported table in the Database, there alreay >> > around 1000 records in that table where ROWID is from 1 to 1000, now >> system >> > generates new events, where ROWID again starts from beginning from 1, >> now >> > these new events are overwriting the earlier imported events by "REPLACE >> > INTO......", I made that change to instead REPLACE, I need INSERT, but >> now I >> > need new ROWID (I need to update at the end of previous imported >> records. I >> > don't want to overwrite original records. >> > >> > >> > >> First of all a few questions to make things clear : >> >> 1) you import your data with a script that inserts rows with existing >> rowid's ? >> >> after that : >> >> 2) you try to insert new rows with INSERT ... but it doesn't work as you >> expect because you think you need to specify a new unused rowid ? >> >> if so : >> >> a) don't classify the field rowid in your insert command because sqlite >> then generates automatically new unused values. >> b) if your script (from earlier posts) restores your database with sql >> commands (most likely) then try to avoid using rowid in that script at >> all. The default behaviour for rowid works fine especially for your >> problem with only a few thousand entries in the database >> c) if rowid is your primary key to identify your data, then you depend >> on a internal feature of the engine and you should change this with a >> user defined field called id which could also be a autoincrement field >> similar to rowid for better performanc (integer primary key autoinc --- >> look at the documentation) >> >> your problem is that you try to insert new rows with a rowid and you >> will only get performance problems when you have to search for the >> maximum value of a rowid each time you search for a new valid id. try to >> avoid this by defining your own primary key. At least don't try to >> specify a rowid value when you insert new rows. >> >> Hope this could solve your problem ;) >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@sqlite.org >> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users >> > > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users