Deze verklaring:
cursor.execute(sql, multi=True)
creëert een iterator over de resultaten. Het ziet eruit alsof het lui is (d.w.z. het voert SQL-instructies alleen uit als dat nodig is). Je vraagt nooit om de resultaten voor de tweede instructie, dus het voert alleen de eerste uit. Probeer:
for _ in cursor.execute(sql, multi=True): pass
Over het algemeen is het beter om aparte execute()
te gebruiken oproepen.