如何使用“插入选择暂停”插入并在 Python Flask 中使用可迭代

Posted

技术标签:

【中文标题】如何使用“插入选择暂停”插入并在 Python Flask 中使用可迭代【英文标题】:How to insert using "insert into select pause" and using iterable in Python Flask 【发布时间】:2021-07-11 02:21:49 【问题描述】:

我正在使用 Python 烧瓶实现食品订购功能。 我在插入 mysql db 时遇到困难,所以我问一个问题。

首先,我必须从名为 menu 的表中获取数据并将其插入 order_detail,因此我使用了 insert into select。 我正在尝试通过for语句将每个数据存储在order_detail表中,但是我不知道如何将for语句的变量放入mysql中。 代码如下。

def cart_insert(element):
    conn = pymysql.connect(**config)
    cur = conn.cursor()
    for item in element:
        sql = "insert into order_detail (order_id, menu_name, food_qty, food_price)\
                 select 1, item , 1, menu_price from menu where menu.menu_name=item "
        cur.execute(sql)

【问题讨论】:

语法是 "" 插入 order_detail (order_id, menu_name, food_qty, food_price) select 1, item , 1, menu_price from menu where menu.menu_name=? " 然后在 cur.execute(sql, (item)) 【参考方案1】:

哦!!!!!!我解决了!!!! 我的问题是如何将 python 变量放入 mysql db 列中。 如果你有困难,试试这个。

def cart_insert(element):
    conn = pymysql.connect(**config)
    cur = conn.cursor()
    for item in element:
        sql = "insert into order_detail (order_id, menu_name, food_qty, food_price)\
               select 1, %s, 1, menu_price from menu where menu.menu_name=%s"
        cur.execute(sql, (item, item))

我使用 insert into select 语句从另一个表(菜单表)中获取数据。 在这里将 Python 变量插入数据库是一个问题。由于定义为以列表格式接收,所以在使用python变量时可以在pymysql中使用%s。

定义为以列表形式接收,所以在使用python变量时可以在pymysql中使用%s。 定义 SQL 并将刚刚创建的 SQL 放入执行函数中。而如果你想把python变量放到db中,只需要输入最多%s个python变量即可。

【讨论】:

以上是关于如何使用“插入选择暂停”插入并在 Python Flask 中使用可迭代的主要内容,如果未能解决你的问题,请参考以下文章

python使用正则表达式识别大写字母并在大写字母前插入空格

如何使用 python 检测到某些东西已插入 linux 上的音频插孔?

如何在android中通过api发布数据并在python web界面中显示数据[重复]

如何使用 CSV(平面文件)更新 MySQL 数据库并在插入前验证数据

在 Hibernate 中,如何自动检索父 id 并在子插入中将其用作外键?

如何在mysql中插入图像并在vb中显示?