Toto prohlášení:
cursor.execute(sql, multi=True)
vytvoří iterátor nad výsledky. Vypadá to, že je líný (tj. provádí příkazy SQL pouze podle potřeby). Nikdy se neptáte na výsledky pro druhý příkaz, takže se provádí pouze ten první. Zkuste:
for _ in cursor.execute(sql, multi=True): pass
Obecně je lepší použít samostatné execute()
hovory.