使用sqlalchemy基于python列表更新数据库表

2024-09-30 06:12:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个absent_studentID_list的列表

absent_studentID_list = ['sid000001','sid000006']

我想更新student表中的status列,该列将studentIDabsent_studentID_list匹配

目前我正在循环列表并使用更新

for sid in absent_studentID_list:
        u = update(studentTable).values({"status": "Absent"}).where(studentTable.c.studentid == str(sid))
        studentTableSession.execute(u)
        studentTableSession.commit()

有没有比这更好的更新方法


Tags: in列表forstatusupdatestudentlistvalues
1条回答
网友
1楼 · 发布于 2024-09-30 06:12:04

你可以用

u = studentTable.update()\
    .values(status="Absent")\
    .where(studentTable.c.studentid.in_(absent_studentID_list))

通过使用in_,您只需要执行一次,而不是在循环中执行

相关问题 更多 >

    热门问题