Ponieważ całe zapytanie musi być w formacie ciągu podczas wykonywania zapytania, więc %s
powinno być używane...
Po wykonaniu zapytania wartość całkowita jest zachowywana.
Twoja linia powinna być.
.execute("INSERT INTO table VALUES(%s,%s)", (int(id), string))
Wyjaśnienie jest tutaj