この声明:
cursor.execute(sql, multi=True)
結果に対してイテレータを作成します。怠惰なようです(つまり、必要な場合にのみSQLステートメントを実行します)。 2番目のステートメントの結果を要求することはないため、最初のステートメントのみを実行します。試してみてください:
for _ in cursor.execute(sql, multi=True): pass
一般に、個別のexecute()
を使用することをお勧めします 呼び出します。