Eftersom hela frågan måste vara i ett strängformat vid körning av frågan så %s
ska användas...
Efter att frågan har utförts behålls heltalsvärdet.
Så din linje borde vara.
.execute("INSERT INTO table VALUES(%s,%s)", (int(id), string))
Förklaringen finns här