imm*_*eel 1 python mysql flask
我正在尝试将数据插入 MySQL 表中。我能够连接到数据库,但在尝试插入数据时出现内部服务器错误。
from flask import Flask
from flaskext.mysql import MySQL
mysql = MySQL()
app = Flask(__name__)
app.config['MYSQL_DATABASE_USER'] = 'root'
app.config['MYSQL_DATABASE_DB'] = 'test'
app.config['MYSQL_DATABASE_HOST'] = 'localhost'
mysql.init_app(app)
@app.route("/")
def create_table():
cursor = mysql.get_db().cursor()
query = "CREATE TABLE potlala (id INT NOT NULL PRIMARY KEY, name VARCHAR(40), email VARCHAR(40))"
query = "INSERT INTO pot13 (id, name, email) VALUES ('2222', 'Maria', 'mariaz@activestate.com')"
cursor.execute(query)
return "123"
if __name__ == "__main__":
app.run()
Run Code Online (Sandbox Code Playgroud)
您设置query为创建表语句,但在将其设置为插入语句并尝试执行该语句之前从未执行过它。该表不存在,因此插入失败。首先执行第一个查询。
query = "CREATE TABLE ..."
cursor.execute(query)
query = "INSERT INTO ..."
cursor.execute(query)
Run Code Online (Sandbox Code Playgroud)
小智 5
您应该做两件事:
connection = mysql.get_db()
cursor = connection.cursor()
query = "CREATE TABLE potlala (id INT NOT NULL PRIMARY KEY, name VARCHAR(40), email VARCHAR(40))"
cursor.execute(query)
query = "INSERT INTO pot13 (id, name, email) VALUES ('2222', 'Maria', 'mariaz@activestate.com')"
cursor.execute(query)
connection.commit()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12854 次 |
| 最近记录: |