(Sqlite3) Autoincrement-ID beim Einfügen erhalten
Verfasst: Montag 3. September 2007, 11:07
Hallo
Ich bastle immer noch an meiner sqlite-Db
Ich habe zwei Tabellen, books und stats. stats ist mit books über ein Feld book_id verknüpft. In books ist das ein primary key und ich muss mich nicht drum kümmern, aber in stats muss ich selbst dafür sorgen, dass die richtige id eingetragen wird.
Mein Problem ist:
Mit executemany werden eine Menge neuer Bücher in books eingefügt.
Da es über die noch keine Daten gibt, sollen in stats Standardwerte eingefügt werden, verknüpft mit den "neuen" IDs.
Man könnte jetzt über die größte vorhandene ID vor dem Einfügen der neuen Bücher in die DB und die bekannte Anzahl der eingefügten Bücher die neuen IDs herausbekommen. Aber mir gefällt das nicht allzusehr.
Gibt es noch eine andere Möglichkeit, nach dem Einfügen die entsprechenden IDs direkt von sqlite3 zu erhalten? (Ich kann mich nicht darauf verlassen, dass irgendein anderes Feld oder eine beliebige Kombination anderer Felder außer ID einzigartige Werte beinhalten.)
Ich bastle immer noch an meiner sqlite-Db

Ich habe zwei Tabellen, books und stats. stats ist mit books über ein Feld book_id verknüpft. In books ist das ein primary key und ich muss mich nicht drum kümmern, aber in stats muss ich selbst dafür sorgen, dass die richtige id eingetragen wird.
Mein Problem ist:
Mit executemany werden eine Menge neuer Bücher in books eingefügt.
Da es über die noch keine Daten gibt, sollen in stats Standardwerte eingefügt werden, verknüpft mit den "neuen" IDs.
Man könnte jetzt über die größte vorhandene ID vor dem Einfügen der neuen Bücher in die DB und die bekannte Anzahl der eingefügten Bücher die neuen IDs herausbekommen. Aber mir gefällt das nicht allzusehr.
Gibt es noch eine andere Möglichkeit, nach dem Einfügen die entsprechenden IDs direkt von sqlite3 zu erhalten? (Ich kann mich nicht darauf verlassen, dass irgendein anderes Feld oder eine beliebige Kombination anderer Felder außer ID einzigartige Werte beinhalten.)