使用 python 连接器添加 MySQL Table 无法添加 table 而不会抛出 multi=True 错误

Add MySQL Table with python connector fails to add table without throwing error with multi=True

我 运行 遇到了一个非常奇怪的问题,我的下面的代码正在运行(我能够将 table 添加到数据库中)。通过 mysql workbench 删除测试 table 后,我能够添加数据库并且代码继续 运行 没有错误,但没有添加 table .我已将 SQL 缩小并尝试使用不同的数据库。我也重启了。我在这里做错了什么吗?非常感谢任何帮助。

import mysql.connector
import os

dirname = os.path.abspath('')
sql_filename = dirname + '\SQL_Creation\Test.sql'

class connectionsetup:
    def __init__(self):
      self.mydb = mysql.connector.connect(
      host="localhost",
      user="root",
      password="")
    
      try:
        self.mycursor = self.mydb.cursor()
        print('Conneciton Succesful')
        self.mycursor.execute("CREATE DATABASE AP_Application_Db_test")
        print('Database Created')
        self.mycursor.execute('USE ap_application_db_test; Create TABLE test (SERIAL_NUMBER VARCHAR(255),VIOLATION_STATUS VARCHAR(255))', multi=True)
        self.mydb.commit()
        self.mydb.close()

      except mysql.connector.Error as err:
        print(err)
        print("Error Code:", err.errno)
        print("SQLSTATE", err.sqlstate)
        print("Message", err.msg   )
        
    
connectionsetup()

根据 docscursor.execute(..., multi=True)

[...] returns an iterator that enables processing the result of each statement

所以代码需要这样:

for _ in self.mycursor.execute(multiple_sql_statements, multi=True):
    pass