【问题标题】:How to insert values in .db file using flask? [duplicate]如何使用烧瓶在 .db 文件中插入值? [复制]
【发布时间】:2019-02-08 22:16:11
【问题描述】:

我有一个包含 app.py 和 books.db 文件的文件夹,现在我想使用烧瓶将值插入到该 db 文件中。

我能够正确读取它,但无法向其中插入值。

知道如何实现吗?

@app.route('/insert',methods=['GET','POST'])
def addv():
    conn = sqlite3.connect('books.db')
    conn.row_factory = dict_factory
    cur = conn.cursor()
    cur.execute('insert into books values (NULL,2014,\'Vivank\',\'try\',\'trying\')')
    return "inserted"

这不是在 books.db 中插入值吗?

或者以任何方式向其中插入数据?

【问题讨论】:

  • 什么意思,实现this(然后展示一些看起来像解决方案的东西)?它有什么问题(除了 SQL 中的硬编码字符串)?
  • 我无法使用 python @Amadan 在 books.db 文件中插入数据
  • 我的意思是,当你运行你发布的代码时会发生什么?有错误吗?哪一个?您是否得到“插入”返回?你的窗帘着火了吗?
  • 试试conn.commit()?如果行更新没有错误但没有保存,那可能是唯一缺少的东西。
  • 使用flask-sqlalchemy 比直接插入更好

标签: python database flask


【解决方案1】:

您可以将代码更改为:

@app.route('/insert', methods=['GET','POST'])
def addv():
    if request.method == "POST";
        conn = sqlite3.connect('books.db')
        data = [None, 2014, 'Vivank', 'try', 'trying']
        conn.execute('insert into books values (?, ?, ?, ?, ?)', (*data,))
        conn.commit()
        return "inserted"
    return "Testing insert"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多