簡體   English   中英

我的刪除查詢無法正常工作

[英]My Delete query isn't working properly

我在這里有點麻煩。 我的刪除查詢無法正常工作。 事情是我正在使用內部聯接從4個表中刪除。 該數據將在兩個表中刪除,但不會在其余兩個表中刪除。

事情是post表包含多個記錄,我必須刪除所有記錄,但是它只刪除第一個記錄。 並且fields_data表取決於posts表。 因此,如果我能夠從posts表中刪除所有記錄,那么在fields_data表中也將解決該問題。

總結一下,我想根據以下查詢從四個表(“ Workspace_name”,“ Posts”,“ Fields”,“ Fields_data”)中刪除所有數據。 我希望這對您有意義。 代碼如下。

謝謝你的時間。 更重要的是,它打印成功消息( Workspaces have been deleted )的次數是posts表中記錄數的兩倍。但是顯然,除了第一個消息,它不會刪除。

<?php

include "connection.php";

$sel="SELECT * FROM `posts` WHERE `workspace_id`='$workspace_id'";
$qus=mysqli_query($con,$sel);
$counter=mysqli_num_rows($qus);
if($qus){
    $pids=array();
    while($res=mysqli_fetch_assoc($qus)){
        $res['post_id'];
        $pids[]=$res['post_id'];
    }
}
else{
    echo mysqli_error($con);
}

for($i=0;$i<$counter;$i++){
    $dew="DELETE wn,f,p,fd
          FROM `workspace_name` AS wn
          INNER JOIN `fields` AS f 
          INNER JOIN `posts` AS p
          INNER JOIN `fields_data` AS fd
              ON wn.workspace_id=f.workspace_id AND p.post_id=fd.post_id
          WHERE wn.workspace_id='$workspace_id' AND p.post_id='$pids[$i]'";
    $quer=mysqli_query($con,$dew);
    if($quer){
        echo "Workspace and its corresponding fields have been deleted.. ";
    }
    else{
        echo mysqli_error($con);
    }
}

?>

您缺少2個表格fieldposts ON條件

$dew="DELETE wn,f,p,fd
          FROM `workspace_name` AS wn
          INNER JOIN `fields` AS f _ON(wn.some_id = f.some_id)_
          INNER JOIN `posts` AS p  _ON(wn.some_id = c.some_id)_
          INNER JOIN `fields_data` AS fd
              ON wn.workspace_id=f.workspace_id AND p.post_id=fd.post_id
          WHERE wn.workspace_id='$workspace_id' AND p.post_id='$pids[$i]'";

您需要在刪除查詢中正確加入4個表,並且不要使用循環。 在第一個循環中,將使用帖子刪除工作空間,但是在第二次迭代中,將沒有工作空間,因此內部聯接也不會從posts表中產生任何記錄。

DELETE wn,f,p,fd FROM `workspace_name` AS wn INNER JOIN `fields` AS f
ON wn.workspace_id=f.workspace_id INNER JOIN `posts` AS p
ON wn.workspace_id=p.workspace_id INNER JOIN `fields_data` AS fd
ON p.post_id=fd.post_id 
WHERE wn.workspace_id='$workspace_id'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM