如何使用python基于选择查询结果运行更新sql查询

suzh9iv8  于 2022-12-28  发布在  Python
关注(0)|答案(1)|浏览(148)

我正在尝试使用Python基于选择查询的结果更新sql表中的一行。如何添加相同的内容,以便如果在选择查询中找到结果,我们应该能够运行更新查询并打印为更新的列表,如果没有退出,则说没有找到结果以更新表

cursor = conn.cursor()
cursor.execute(
    "select * from student where email = 'xyz.com'"
)
student = cursor.fetchall()
print(student)

for row in student:
    cursor.execute(" Update student set value = 0 where email = 'xyz.com'")

'

vngu2lb8

vngu2lb81#

您不需要执行单独的SELECT,只需使用OUTPUT子句就可以让UPDATE语句从更新的行返回值。例如,使用pyodbc:

sql = """\
UPDATE student SET value = 0
OUTPUT INSERTED.student_number
WHERE email = 'xyz.com' AND (value <> 0 OR value IS NULL)
"""
student_numbers = crsr.execute(sql).fetchall()
print(student_numbers)  # [(1001, ), (1003, )]

相关问题