Pernyataan ini:
cursor.execute(sql, multi=True)
membuat iterator atas hasil. Sepertinya itu malas (yaitu, mengeksekusi pernyataan SQL hanya jika diperlukan). Anda tidak pernah meminta hasil untuk pernyataan kedua, jadi itu hanya mengeksekusi yang pertama. Coba:
for _ in cursor.execute(sql, multi=True): pass
Secara umum lebih baik menggunakan execute()
yang terpisah panggilan.