python - 从插入查询中获取数据?
问题描述
我在这里为一个食谱创建一个帖子,它有一个recipe_id
并且是自动递增的,并且在同一页面上它将返回一个要添加到食谱中的成分列表
def recipeCreate():
if request.method == 'POST':
userposted = session['user_ID']
title = request.form['title']
prep_time = request.form['preptime']
cook_time = request.form['cooktime']
description = request.form['description']
category = request.form['category']
diet = request.form['diet']
calories = request.form['calories']
c = sq.connection.cursor()
c.execute('INSERT INTO recipe_post (posted_by, name, description, prep_time, cook_time, category, diet, calories)VALUES(%s,%s,%s,%s,%s,%s,%s,%s)',(userposted, title, description, prep_time, cook_time, category, diet, calories))
sq.connection.commit()
c.close()
return "<h1>Form successfully submitted</h1>"
c = sq.connection.cursor()
result = c.execute('SELECT * FROM Ingredients')
data = c.fetchall()
return render_template('recipe/recipe_form.html', data=data)
成分表上的每种成分都是一个<a>
标签,链接到这个标签,这将为帖子添加成分
@app.route('/recipe/create/add/<recipe_id>/<ingredient_id>/<quantity>')
def addRecipeIngredient(recipe_id,ingredient_id,quantity):
recipe_id = int(recipe_id)
ingredient_id = int(ingredient_id)
quantity = int(quantity)
c = sq.connection.cursor()
result = c.execute('INSERT INTO recipe_ingredients(recipe_id,i_id,quantity) VALUES(%s,%s,%s)',(recipe_id,ingredient_id,quantity))
sq.connection.commit()
c.close()
INSERT INTO recipe_ingredients(recipe_id,i_id,quantity) VALUES(%s,%s,%s)
我的问题是我无法将recipe_id
fromrecipeCreate()
插入到配方成分表中,因为它是一个尚未创建/查询的帖子。
我正在考虑recipe_post
先插入数据,然后在下一页中插入成分数据,但我仍然遇到获取recipe_id
.
我该如何解决这个问题,有没有办法从插入查询中获取数据?
解决方案
您可以使用请求连接上的最后一个 IDsq.connection.insert_id()
如果该功能不可用,请告诉我您正在使用的 sql 库的名称。
推荐阅读
- teradata - 如果最后一个单词字符串与以“I”“R”“N”结尾的字母匹配,则更新列
- python - 将 Spark 数据框转换为以一列为键的多个列表
- spring - 嵌套异常是 NoClassDefFoundError:
- vue.js - VueJS + Vue-Flickity TypeError:WEBPACK_IMPORTED_MODULE_0_vue_flickity.a 不是构造函数
- django - 如何限制经过身份验证的用户代表其他人发帖?
- c - 如何解决 GCC optimization-miss 错误 90271?
- javascript - 如何使用 Jest 模拟“window.screen.orientation.lock”功能?
- java - 无法在 Spring Boot 应用程序中将放置在 src/main/resources/static/css/ 文件夹中的 css 文件提供给客户端
- java - 将 CSV 文件转换为 XLS 文件,逗号有问题
- php - 将“显示单一变体”代码添加到 functions.php 时出错