我有这样的查询:
update TABLEA set x1 = b.x2, y1 = b.y2
from TABLEB b
where pid = b.id
但是,ID在TABLEB中不是唯一的,因此可以返回0,1行或更多行。它似乎正在工作,我实际上并不困扰我从哪个行获取数据,因为我想要的x2 / y2值对于相同的ID总是相同的。
以上是否可以,它只是从一行更新,还是应该修改sql以确保只返回一行?为了将来参考,即使它没问题,查询只返回它找到的第一行,它是否与上面一样有效?
感谢。
答案 0 :(得分:0)
您的代码很好,但它会使用不确定的值进行更新。
如果您对此感兴趣,可以使用%
:
print("Your name and password are: %s, %s" % (name, password))
通过在子查询中放置apply
,您可以控制更新哪个值。