【发布时间】:2015-06-04 22:01:28
【问题描述】:
我正在尝试将数据插入 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()
【问题讨论】:
-
从命令行运行脚本并捕获错误,将其打印并包含在此处。另外,您是否尝试过使用 SQLAlchemy?
-
@john 是的,我从命令行运行脚本,没有弹出错误,但是当我本地主机时,它给了我内部服务器错误,当我将“2222”更改为“1234”时还有一件事在查询部分,它给了我 HTTP 200:OK 但没有向数据库中插入任何东西。
-
将块封装在try catch中,捕获错误。肯定会有输出。
-
我对这件事完全陌生,SQLAlchemy 会使用 python 和 flask 用 mysql 完成 CRUD 的工作吗?
-
它减少了编写 sql 查询的需要。查询变为:dbdefs.potlala.query.filter_by(patella_id = your_variable)