Flask mysql 数据替换。 (更新声明)

Flask mysql data replacement. (UPDATE Statement)

问题是这样的:命令运行时,没有替换数据库中的数据

翻了无数页也没找到解决问题的方法。

但是没有报错

脚本:

@app.route('/profil', methods=['GET', 'POST'])
def profil():

    if 'loggedin' in session:
        cursor = mysql.connection.cursor(MySQLdb.cursors.DictCursor)
        cursor.execute('SELECT * FROM users WHERE id = %s', (session['id'],))
        account = cursor.fetchone()

        if request.method == 'POST':
            file = request.files['file']
            filename = secure_filename(file.filename)

            path = os.path.join(app.config['UPLOAD_FOLDER'], filename)
            file.save(path)

            cursor.execute('UPDATE users SET file_name = %s WHERE id = %s', (filename,account['id'],))

            return filename

        return render_template('profil.html', account=account)

    return redirect(url_for('login'))```

进行更新时,您需要使用 .commit:

显式提交
cnx = mysql.connector.connect(...)
cursor = cnx.cursor()
cursor.execute('UPDATE .....')
cnx.commit()

https://dev.mysql.com/doc/connector-python/en/connector-python-api-mysqlconnection-commit.html

您可以使用 cnx.autocommit = True 自动提交。