Denne erklæring:
cursor.execute(sql, multi=True)
opretter en iterator over resultaterne. Det ser ud til, at det er doven (dvs. det udfører kun SQL-sætninger efter behov). Du beder aldrig om resultaterne for den anden sætning, så den udfører kun den første. Prøv:
for _ in cursor.execute(sql, multi=True): pass
Generelt er det bedre bare at bruge separat execute()
opkald.