我的第一个问题:
sq1 = """SELECT site_id
FROM site_owner
WHERE user_id = %s"""
返回属于user_id的整数列表(" site-ids")。
在我的第二个查询中,我需要查看列表中的任何整数是否与另一个名为" sites"的表中的列中的行匹配,如果是,则删除该行。
我是一个SQL菜鸟,并且不知道是否可以通过查询以这种方式迭代列表。谢谢你的时间。
编辑:
我知道有一种从select查询中删除的方法。我的失败尝试如下:
sq2 = """DELETE FROM site WHERE name = %s
AND site_id IN (
SELECT site_id FROM site_owner WHERE user_id = %s )"""
这是正确的轨道吗?
答案 0 :(得分:1)
您无法在查询中进行迭代,但您可以在存储过程中进行迭代。但是,在这种情况下你不应该这样做。 delete results of a select with a JOIN