【发布时间】:2020-05-20 22:13:27
【问题描述】:
我正在尝试使用 Python 和 SQLAlchemy 更新数据库中的布尔值。这是我的代码:
def update_record_to_hide_or_show(e2e_id, hide_error, event_time, study_id):
connection_string = _get_connection_string()
db = create_engine(connection_string)
roi_e2e_events = define_roi_e2e_events_table()
with db.connect() as conn:
if hide_error == "True":
update = roi_e2e_events.update().values(hide_error=True).where(roi_e2e_events.c.e2e_id == e2e_id)\
.where(roi_e2e_events.c.event_time == event_time)\
.where(roi_e2e_events.c.study_id == study_id)
print(update)
result = conn.execute(update)
else:
update = roi_e2e_events.update().values(hide_error=False).where(roi_e2e_events.c.e2e_id == e2e_id) \
.where(roi_e2e_events.c.event_time == event_time). \
where(roi_e2e_events.c.study_id == study_id)
result = conn.execute(update)
return result
我能够毫无问题地输入条件的第一部分,当我尝试将查询提交到数据库时没有显示执行错误,我在单独的函数中创建了元数据并且更新查询看起来像这样:
UPDATE roi_e2e_events SET hide_error=:hide_error WHERE roi_e2e_events.e2e_id = :e2e_id_1 AND roi_e2e_events.event_time = :event_time_1 AND roi_e2e_events.study_id = :study_id_1
我没有看到布尔值在运行后更改为“True”,我在这里做错了什么?
【问题讨论】:
标签: python sqlalchemy