如何在Python中提交原生SQL的UPDATE操作

0 投票
1 回答
2457 浏览
提问于 2025-04-17 19:07
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。

1 个回答

3

你没有说明你使用的是哪种数据库,这可能会影响答案。不过,对于大多数数据库连接来说,你需要在最后加上 connection.commit(),才能真正把更改保存到数据库里。这包括更新和插入操作。如果不使用 commit(),通常会导致之前的操作被撤销。

撰写回答