Sim*_*rix 0 python mysql database commit flask
我试图让一个小的Flask应用程序工作,写入MySQL数据库,但似乎数据库提交不起作用,我不知道为什么.
from flaskext.mysql import MySQL
mysql = MySQL()
mysql.init_app(app)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_PASSWORD'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'eggsited'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
conn = mysql.connect()
cursor = mysql.connect().cursor()
cursor.execute('insert into user (id, first_name, last_name) values (%s, %s, %s)', ['324325', 'Kristoffer', 'Nielsen'])
conn.commit()
Run Code Online (Sandbox Code Playgroud)
这是处理将值插入表格的部分.我知道我的连接正在工作,因为我可以执行select语句并列出那些结果,并且execute语句也正常工作,因为当我在mysql中直接插入新行时,自动递增的id字段已递增.所以它必须是实际上没有提交execute语句的commit命令,但我不知道为什么.
我错过了一些明显的东西吗?
小智 5
从这个问题:在使用Flask调用connection.commit()后,MySQL没有更新(WORKING)
在代码的第三行,将其更改cursor = mysql.connect().cursor()为cursor = conn.cursor().这将确保游标使用现有的数据库连接(来自前一行代码),而不是创建新的MySQL连接.