首页 > 解决方案 > 插入mysql数据库不提交更改(python)

问题描述

我正在尝试运行以下代码,该代码执行没有问题。生成的sql是“INSERT INTO account_login (groupone_account_id, login_date) VALUES ('100', '10:10:00') 没有语法错误并成功执行。但是当我检查表时,id没有已插入。我可以成功完成选择查询。

我创建 database_connection 的原因是因为它是一个外部连接,我想隔离它以便能够更轻松地测试数据库连接。

def create_groupone_account_login(groupone_account_id):
    groupone_account_login_created = False
    cursor = database_connection("cursor")
    time = datetime.utcnow().isoformat()[:-3] + 'Z'
    sql_create_account_login = "INSERT INTO account_login (groupone_account_id, login_date) VALUES ('%s', '%s')" % (
            groupone_account_id, time)
    cursor.execute(sql_create_account_login)
    connection = database_connection("connection")
    connection.commit()
    cursor.close()
    groupone_account_login_created = True
    return groupone_account_login_created
def database_connection(variable):
    resp_dict = json.loads(get_secret())
    endpoint = resp_dict.get('host')
    username = resp_dict.get('username')
    password = resp_dict.get('password')
    database_name = resp_dict.get('dbname')
    port = resp_dict.get('port')
    connection = pymysql.connect(host=endpoint, user=username, passwd=password, db=database_name, port=port)
    cursor = connection.cursor()
    if variable == "connection":
        return connection
    else:
        return cursor

标签: pythonmysqlpymysql

解决方案


推荐阅读