我有一个连接到MySQL数据库的烧瓶应用程序。
请注意
数据库名称=评估
表名=评估
columns = eval_id,eval_name,date
我有一张评估表'使用字段eval_id,eval_name和日期。
mysql> use evaluation;
mysql> describe evaluation;
+-----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+-------------+------+-----+---------+-------+
| eval_id | int(11) | NO | PRI | NULL | |
| eval_name | varchar(20) | NO | | NULL | |
| date | datetime(6) | NO | | NULL | |
+-----------+-------------+------+-----+---------+-------+
如何编写API以通过其ID获得特定评估? 我试过以下,但它没有用。
@app.route('/getEval/<int:eval_id>', methods=['GET'])
def getEvalByID(eval_id):
cur.execute('''select * from evaluation.evaluation where eval_id=eval_id''')
res = cur.fetchall()
return jsonify({'test':str(res)})
如何更正此问题并根据app.route中提到的eval_id进行评估。
答案 0 :(得分:1)
您需要将eval_id放置为String而不是VAR。
@app.route('/getEval/<int:eval_id>', methods=['GET'])
def getEvalByID(eval_id):
cur.execute('select * from evaluation.evaluation where eval_id=' + str(eval_id))
res = cur.fetchall()
return jsonify({'test':str(res)})
答案 1 :(得分:0)
尝试使用cur.execute('select * from evaluation.evaluation where eval_id = {}'。format(eval_id))