我在這裏遇到了一些麻煩。我的刪除查詢無法正常工作。 事情是我從4個表中刪除使用內部連接。數據在兩個表格中被刪除,但其餘兩個中沒有。我的刪除查詢無法正常工作
事情是郵政表中包含多個記錄,我必須刪除所有這些記錄。但它只刪除第一個。 fields_data表依賴於帖子表。因此,如果我能夠從帖子表中刪除所有記錄,問題也將在fields_data表中解決。
總結我想要做的是根據以下查詢從四個表(「Workspace_name」,「Posts」,「Fields」,「Fields_data」)中刪除所有數據。我希望它對你有意義。代碼如下所示。
謝謝你的時間。和更多的東西其打印成功消息(Workspaces have been deleted
)多次在帖子的記錄數table.But顯然除了第一個它不刪除..
<?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);
}
}
?>
參照完整性防止刪除其他表
ON
條件?或者可能是一個不正確的刪除命令? – xQbert你缺少某些'JOIN'子句的'ON'子句。 – Barmar
您正在通過'fields'加入'workspace_name',並通過'fields_data'連接'posts'。但是前兩個表與最後兩個表沒有聯繫條件。 – Barmar