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 项目中执行它时,我得到了返回的行,正如我所期望的那样,但是稍后当我为同一行选择查询时,它看起来好像该语句从未真正运行过。在我的代码中,“status”列默认为 NULL。运行后,我的表中仍然看到 NULL。
最佳答案
您没有指定要处理的数据库,这可能会稍微改变答案。但是,对于大多数数据库连接,您需要使用 connection.commit()
完成才能真正保存对数据库的更改。这包括更新和插入操作。 commit()
失败通常会导致操作回滚。
关于python - 如何在 python 的原始 SQL 中提交更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415835/