我正在尝试使用where条件更新我的表。我不知道我哪里出错了。你知道吗
我在python中使用peewee进行SQL查询。我正在尝试更新具有相同列的两个不同表。查询可以很好地处理表1,但不能处理表2,尽管它们都是相同的。最奇怪的是,没有错误。我还启用了查询日志记录。你知道吗
if x:
for id in x:
table1.update(status = 0).where(table1.slab_id == id).execute()
table2.update(status = 0).where(table2.slab_id == id).execute()
应为:对于提供的id,更新状态为0的表1和表2。 实际:表1已成功更新,而表2的所有值都将更新,而不是只更新一个值。我还记录了以下查询:
('UPDATE `table1` SET `status` = %s WHERE (`table1`.`slab_id` = %s)', [0, 44])
('UPDATE `table1` SET `status` = %s WHERE (`table1`.`slab_id` = %s)', [0, 43])
('UPDATE `table2` SET `status` = %s', [0])
('UPDATE `table2` SET `status` = %s', [0])
'UPDATE `table2` SET `status` = 0 WHERE `table2`.`slab_id` = 43
->;有效
对于表2中没有应用条件的情况,我不明白为什么?你知道吗
这可能是版本不匹配或外键约束的情况,不允许更新或删除表。你知道吗
相关问题 更多 >
编程相关推荐