WHERE具有多个表的条件

时间:2014-08-21 09:25:29

标签: php mysql

我删除了所有四个表中与用户名匹配的表内容..如果我删除了一个用户名' user1'从第一个表...应该删除所有表格中的记录,其中用户名为' AAA'。

我使用的表是

table 1 : p_user_profile

p_id        username  
----        --------
1           AAA

表2:p_device_id

d_id        username 
----        --------
1           AAA

表3:p_temp_notification

p_id        username   type
----        --------   -----
1           AAA          i

表4:p_sent_notification

p_id        username   type
----        --------   -----
1           AAA          i

这里我想删除与所有表中的用户名匹配的记录,并匹配类型=" i"来自3& 4桌。

下面是我使用的代码:

$p_id = intval($_REQUEST['p_id']);
include 'db/connection.php';
$sql= "DELETE p_user_profile, p_device_id, p_sent_notification FROM p_user_profile LEFT JOIN p_device_id ON p_device_id.username = p_user_profile.username
                                                                                   LEFT JOIN p_sent_notification ON p_device_id.username = p_sent_notification.username WHERE p_id = $p_id AND p_sent_notification.type = "i" ";

在ablove查询中,如果我执行一个WHERE条件它正在成功执行..但它正在删除所有记录的类型..但我想删除只有type =" i"的记录。

Plz帮助解决..Thankyou

1 个答案:

答案 0 :(得分:0)

您在查询中使用了 p_sent_notification ,而您的表名是 sent_notification