我使用游标/执行从postgres数据库中以SELECT
格式从python中的数据没问题。只需将sql更改为INSERT
行,但没有任何内容插入DB。谁能告诉我应该修改什么?有点困惑,因为除sql语句外,其他所有内容都相同。
<!-- language: python -->
@app.route("/addcontact")
def addcontact():
# this connection/cursor setting showed no problem so far
conn = pg.connect(conn_str)
cur = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)
sql = f"INSERT INTO jna (sid, phone, email) VALUES ('123','123','123')"
cur.execute(sql)
return redirect("/contacts")
答案 0 :(得分:2)
首先查看您的表设置,并确保以正确的顺序,格式和所有正确的方式命名变量,如果您未登录sql服务器上的特定数据库,则将不知道表的位置,在执行插入语句之前,可能需要发送诸如“ USE 数据库名称”之类的信息,以便计算机位于服务器中的正确位置。
我可能不是最新的语言,但是“ f”应该在引号之前吗?如果在您的代码中多数民众赞成在可能会引发错误,除非它的用途是不知道或与问题无关。
答案 1 :(得分:1)
您必须通过在execute(sql)之后添加以下行来提交事务
conn.commit()