检查列表中的任何元素是否与MySQL表中的行匹配

时间:2015-05-04 22:09:37

标签: python mysql

我的第一个问题:

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 )"""

这是正确的轨道吗?

1 个答案:

答案 0 :(得分:1)

您无法在查询中进行迭代,但您可以在存储过程中进行迭代。但是,在这种情况下你不应该这样做。 delete results of a select with a JOIN