#224 sqlite last_insert_rowid

closed-fixed
Mario Frasca
5
2006-12-01
2006-11-13
Mario Frasca
No

You should be able to get the last inserted rowid using
the last_insert_rowid() function in a query:

SELECT last_insert_rowid();

-----------------

in ibo3 questa non è utilizzata.
sarebbe il caso di verificare.

Discussion

  • Mario Frasca
    Mario Frasca
    2006-11-14

    Logged In: YES
    user_id=512199

    at the moment, the query retrieving the newly generated
    primary key is:

    query2 = "SELECT seq FROM sqlite_sequence WHERE name='%s'" %
    self._table

    this was based on a hint on the sqlite-users list...

     
  • Mario Frasca
    Mario Frasca
    2006-11-14

    • assigned_to: nobody --> mfrasca
     
  • Mario Frasca
    Mario Frasca
    2006-11-16

    Logged In: YES
    user_id=512199
    Originator: YES

    ibo3 ora usa
    "SELECT seq FROM sqlite_sequence WHERE name='%s'" % self._table

    la tabella sqlite_sequence viene creata dal sistema se esiste almeno una tabella con chiave primaria integer primary key autoincrement e contiene un record per ciascuna tabella (non vuota) di questo tipo.

    visto che una tabella con chiave primaria integer primary key ha, per quanto ci riguarda, una chiave primaria autoincrementante e che 'autoincrement' vuol dire 'unique through time', la soluzione di ibo3 non è la migliore.

    va sostituita con "SELECT last_insert_rowid()"

    servono dei test...

     
  • Mario Frasca
    Mario Frasca
    2006-11-16

    • status: open --> pending-fixed
     
  • Mario Frasca
    Mario Frasca
    2006-11-16

    Logged In: YES
    user_id=512199
    Originator: YES

    5.63 python/ibo3/__init__.py

    niente test, troppo specifico per un solo motore...
    semplicemente sostituisco
    "SELECT seq FROM sqlite_sequence WHERE name='%s'" % self._table
    con
    "SELECT last_insert_rowid()"

    in questo modo funziona con chiave primaria automatica (quella coincidente con l'oid) anche se non c'è la parola chiave "autoincrement".

     
    • status: pending-fixed --> closed-fixed
     
  • Logged In: YES
    user_id=1312539
    Originator: NO

    This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).