从PHP中的多个表中删除相同的数据

法里德·罗兹曼

我在这里经过了回答,但我感到困惑...删除数据时,INNERJOIN或LEFTJOIN是什么。我在删除多个表中的相同数据时遇到问题...我有这个示例

表user_information包含user_id。首要的关键

表注册包含user_id

此2表,我没有创建外键..我想删除具有特定user_id数据的行..我尝试创建此php代码

<?php

include ('dbconnect.php');


$matric=$_GET['user_id'];


$sql="DELETE FROM user_information, registration WHERE user_id='$matric'";

$result=mysql_query($sql);


if($result){
header("location:../adminMuser.php");

}

else {
echo "ERROR";
}
?>

<?php

mysql_close();
?>

与我们删除特定的user_id相比,如何进行删除可以删除两个表中都具有该user_id的所有数据。如何使用INNERJOIN或LEFTJOIN或我需要做些什么...我的PHP只是显示错误

我也尝试这样做

$sql="DELETE user_id FROM user_information RIGHT JOIN registration ON user_information.user_id=registration.user_id WHERE user_id='$matric' ";

它仍然显示“错误”

尼尔斯

您在这里有三个选择:

  1. 在两个表中都找到一个user_id时删除。

    DELETE a.*, b.* FROM user_information a
    INNER JOIN registration b ON a.user_id = b.user_id
    WHERE a.user_id='$matric';
    
  2. 当在两个表中都找到一个user_id并在第二个表中找到NULL user_id时,将其删除。

    DELETE a.*, b.* FROM user_information a
    LEFT OUTER JOIN registration b ON a.user_id = b.user_id
    WHERE a.user_id='$matric';
    
  3. 当在两个表中都找到一个user_id并在第一个表中找到NULL user_id时,将其删除。

    DELETE a.*, b.* FROM user_information a
    RIGHT OUTER JOIN registration b ON a.user_id = b.user_id
    WHERE a.user_id='$matric';
    

为了清楚起见,请参见此sqlfiddle。

http://www.sqlfiddle.com/#!8/97cdd/1

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档