繁体   English   中英

PHP mysql从所有表中删除条目

[英]PHP mysql delete entry from all table

  • 我的数据库中有85个表格(工作人员,访问权限,培训,通知等)
  • 所有表都有一个字段公共字段staff_id。 我面临着删除不需要的记录的问题
  • 有什么办法可以从工作人员id = xyz的85个表中删除记录

尝试这个...

//Loop through all tables 
set_time_limit(0);
$res = mysqli_query($db,"SHOW TABLES");

while ($row = mysqli_fetch_row($res)) {    
    $table = $row[0];
    //Add created_at column if not exist, else alter the field
    $response = mysqli_query($db,"DELETE FROM " . $table . " WHERE staff_id = xyz");

    if ($response)
        echo "Data deleted from " . $table;
}

您可以这样做。 您已按如下所示加入所有表。 在这里,我仅加入上述表格。 在删除记录之前,还要考虑外键约束。

DELETE t1, t2, t3, t4 FROM
  staff as t1
  INNER JOIN  access as t2 on t1.staff_id = t2.staff_id
  INNER JOIN  training as t3 on t1.staff_id=t3.staff_id
  INNER JOIN  notifications as t4 on t1.staff_id=t4.staff_id
  WHERE  t1.staff_id=xyz;

除非这样尝试:

$tables = array("staff", "access", "training", "notifications");
foreach ($tables as $table) {
    $query = "DELETE FROM $table WHERE staff_id=xyz";
    mysqli_query($db, $query);
}

你是这个意思吗

DELETE FROM `entries` WHERE staff_id="spiderman"

暂无
暂无

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

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