Karena seluruh kueri harus dalam format string saat menjalankan kueri, maka %s
harus digunakan...
Setelah kueri dieksekusi, nilai integer dipertahankan.
Jadi baris Anda seharusnya.
.execute("INSERT INTO table VALUES(%s,%s)", (int(id), string))
Penjelasannya di sini