如果在“表”2 SQL中满足条件,则从“Table1”中删除

时间:2012-11-07 19:58:46

标签: php mysql sql conditional-statements sql-delete

我正在使用SQL数据库在PHP中创建一个小消息传递应用程序,但是遇到了一个小问题。我将尝试尽可能地解释这一点,所以这里......

我有一个名为“users”的表格如下:

ID | Username | Password | Email 
-------------------------------------------
1  | Account1 | Pass 1   | email1@mail.com
2  | Account2 | Pass 2   | email2@mail.com

然后又有一个名为“朋友”的人如下:

UserID | FriendID
------------------
   1   |     2    

所以我需要的是一个查询,如果在第二个表中满足条件,它将从“Friends”表中删除一行。

示例:

DELETE FROM 'friends' WHERE UserID = 1 AND (users.Password = $Password WHERE users.ID = 1)

我希望这是一个很好的解释,但我发现这很难解释。

1 个答案:

答案 0 :(得分:1)

DELETE FROM 'friends' 
WHERE UserID IN (
    SELECT UserID 
    FROM users 
    WHERE Password=$Password 
    AND UserID=1
)

应该有效。您不需要将UserId字段列出两次,这将是多余的。