Hmm, interessant, was man so heraus findet.
Laut SQLite-Doku war mein bisheriges Autoincrement ohnehin gar nicht nötig:
http://www.sqlitetutorial.net/sqlite-autoincrement/
Habe es ausprobiert und beim Kreieren der Tabelle das Autoincrement einfach mal weg gelassen.
Funzt wie eh und je. Jeder neue Eintrag bekommt automatisch eine neue, forlaufende ID, beginnend ab 1.
SQLite tut tas einfach von sich aus, die Doku rät daher von der Verwendung von Autoincrement ab.
Gut, habe es also raus genommen.
Nun kann ich beim Hinzufügen von neuen Datensätzten ins ID-Feld statt "NULL" eine beliebige Zahl einsetzen. Solange die eindeutig ist, funzt das.
;Bisher war es so (gekürzte Zeile):
_SQLite_Exec(-1, "INSERT INTO Mainboardverwaltung VALUES(NULL,'16-04-22', ...
;Neu, jetzt so: Statt NULL eindeutige und selbst vergebene ID (in diesem Beispiel "77"):
_SQLite_Exec(-1, "INSERT INTO Mainboardverwaltung VALUES(" & 77 & ",'16-04-22', ...
Gut, das war schon der erste Schritt zum Erfolg.
Nun mit GUID:
;Tabelle jetzt so kreieren (gekürzt):
Global $sDBHeader = "CREATE TABLE IF NOT EXISTS [Mainboardverwaltung]" _
& "([ID] TEXT PRIMARY KEY," ...
_SQLite_Exec(-1, "INSERT INTO Mainboardverwaltung VALUES('" & _WinAPI_CreateGUID() & "','16-03-27 16', ...
Und das klappt tadellos!
Die Tabelle muss also jetzt zuvor einfach "TEXT" als Primary Key bekommen, statt wie bisher INTEGER und AUTOINCREMENT.
Denn Integer wäre auch in der 8 Byte Variante (64 Bit) zu kurz, um die GUID aufzunehmen, mit ihren 128 Bit.
Da _WinAPI_CreateGUID() sowieso einen String liefert, passt das.
Ich schalte den Thread mal auf "gelöst" und bedanke mich für die guten Anworten!