0
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。

4

1 回答 1

3

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

于 2013-03-14T17:16:43.867 回答