代码之家  ›  专栏  ›  技术社区  ›  jax

检查另一个表中的数据时SQL正在删除

  •  0
  • jax  · 技术社区  · 14 年前

    我有两张桌子, words lists .

    属于列表并且是引用 listId 字段。

    列表 包含一个 username 字段。

    我需要通过它删除一个词 id 但是首先还需要检查用户名是否正确,因此我需要引用列表表。

    这是我目前所拥有的,但它不起作用。

    DELETE FROM w
    USING lists AS l INNER JOIN words AS w
    WHERE 
    l.username = 'admin'
    AND w.listId = 31
    AND l.id = w.listId
    
    2 回复  |  直到 14 年前
        1
  •  2
  •   John Hartsock    14 年前
    DELETE w FROM words w
    INNER JOIN lists l on l.id = w.listid
    WHERE 
    l.username = 'admin'
    AND w.listId = 31
    
        2
  •  0
  •   Gerrat    14 年前

    DELETE FROM words
    WHERE listid in (
      SELECT 31 from lists where username = 'admin'
    )
    

    SELECT listId from lists where username = 'admin' and listId = 31