繁体   English   中英

有多个表的条件

[英]WHERE condition with multiple tables

我正在删除与所有四个表中的用户名都匹配的表内容。即,如果我从第一张表中删除了一个用户名“ 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

在这里,我要删除与所有表中的用户名匹配并与3&4表中的类型为“ i”匹配的记录。

以下是我使用的代码:

$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”的记录。

请帮助解决..谢谢

您在查询中使用p_sent_notification ,而表名为send_notification

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM