Omdat de hele query in een tekenreeksindeling moet zijn tijdens het uitvoeren van de query, dus %s
moet worden gebruikt...
Nadat de query is uitgevoerd, blijft de gehele waarde behouden.
Dus je regel zou moeten zijn.
.execute("INSERT INTO table VALUES(%s,%s)", (int(id), string))
Uitleg is hier