【问题标题】:How to commit a UPDATE in raw SQL in python如何在 python 中以原始 SQL 提交更新
【发布时间】:2013-03-03 04:32:46
【问题描述】:
cursor = connection.cursor()
cursor.execute("UPDATE public.rsvp SET status=TRUE WHERE rsvp_id=%s", [rsvp_id])
cursor.execute("SELECT status, rsvp_id FROM public.rsvp WHERE rsvp_id=%s", [rsvp_id])
row = cursor.fetchall()

当我在我的 Django 项目中执行此操作时,我得到了我期望看到的返回的行,但后来当我为同一行选择查询时,它显示为该语句从未真正运行过。在我的代码中,“状态”列默认为 NULL。运行后,我的表中仍然看到 NULL。

【问题讨论】:

    标签: python sql django postgresql


    【解决方案1】:

    您没有指定要处理的数据库,这可能会稍微改变答案。但是,对于大多数数据库连接,您需要使用connection.commit() 完成才能真正保存数据库上的更改。这包括更新和插入操作。未能commit() 通常会导致操作回滚。

    【讨论】:

    • 抱歉,这是 Postgres
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 2014-01-03
    相关资源
    最近更新 更多