我多次遇到这个问题,请帮助我。
将 SQL 文件部署到远程数据库中。
from mysql.connector import errors
import mysql.connector
def execute_file(db, sql_file):
if sql_file:
try:
with open(sql_file, 'r') as sql_f:
sql = sql_f.read()
cursor = db.cursor(dictionary=True)
cursor.execute(sql, multi=True)
db.commit()
except errors.Error as e:
console.error(f'[ ERROR ]: Error while Executing {str(e)}')
console.error(f'[ ERROR ]: Rolling back ...')
db.rollback()
return False, str(e)
except Exception as e:
console.error(f'[ ERROR ]: Error while Executing {str(e)}')
console.error(f'[ ERROR ]: Rolling back ...')
db.rollback()
return False, str(e)
finally:
cursor.close()
db.close()
console.info(f'[ INFO ]: "Transaction committed....')
return True, "Transaction committed."
else:
console.error(f'[ ERROR ]: Sql File not found ...')
return False, "Sql File not found"
错误:
Traceback (most recent call last):
File "<console>", line 9, in execute_file
File "/usr/local/lib/python3.9/dist-packages/mysql/connector/connection_cext.py",
line 425, in commit
self._cmysql.commit()
_mysql_connector.MySQLInterfaceError: Commands out of sync; you can't run this command now