Da hele forespørgslen skal være i et strengformat, mens forespørgslen udføres, så %s
skal bruges...
Efter at forespørgslen er udført, bibeholdes heltalsværdien.
Så din linje burde være.
.execute("INSERT INTO table VALUES(%s,%s)", (int(id), string))
Forklaringen er her