错误:_mysql_connector.MySQLInterfaceError:命令不同步;你现在不能运行这个命令

问题描述 投票:0回答:0

我多次遇到这个问题,请帮助我。

将 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
python mysql python-3.x mysql-python mysql-connector
© www.soinside.com 2019 - 2024. All rights reserved.