SQLite -- autoincrement key mit Startwert erstellen

    • Offizieller Beitrag

    Hi,

    ich erstelle in SQLite eine Tabelle wie folgt:

    SQL
    CREATE TABLE IF NOT EXISTS [kunden] ([kdnr] INTEGER PRIMARY KEY AUTOINCREMENT, ...)


    Nun würde ich gerne beim Erstellen den Startwert für "kdnr" festlegen, z.B. '10000'.
    In der SQLite-Syntax habe ich keine Möglichkeit gefunden, einen Standardwert mit autoincrement zu kombinieren. Ein Umweg wäre nun, nach dem Erstellen der Tabelle einen ersten Datensatz hinzuzufügen mit kdnr=9999. Anschließend diesen DS wieder löschen. In den Metatables bleibt der grösste Index gespeichert und beim Einfügen des dann wirklich ersten DS wird automatisch kdnr=9999+1 verwendet.
    Diese Variante gefällt mir aber nicht sonderlich. Hat evtl. schon mal jemand dieses Problem eleganter lösen können?

  • SQLite erstellt, wenn ich mich recht erinnere, automatisch eine Tabelle SQLITE_SEQUENCE in der der der letzte Wert des AUTOINCREMENTS gespeichert wird. Diese Tabelle kannst du ganz normal verändern.

    SQL
    UPDATE SQLITE_SEQUENCE SET seq = 1000  WHERE name = 'kunden'

    Alternativ könntest du auch einen Eintrag in deine Tabelle machen, mit dem gewünschten Startwert für die Kundennummer und diesen dann gleich wieder löschen. SQLite merkt sich dann diesen Wert ebenfalls.