Naja, der Code macht ja auch keinen Sinn. Der zählt ja nur wie viele Zeilen du hast und erstellt dann eine Zeile mit ID = Anzahl der Zeilen. Das gibt für mich keinen Sinn.
Wenn du den SELECT weg machst, und anstelle von r in den Parametern von format eine 0 setzt (harte 0 wie bei dem anderen Code), dann sollte es klappen.
Allerdings habe ich den Hintergrund deines Systems noch nicht verstanden, da dein erster Code sich irgendwie mit dem zweiten Code widerspricht.