首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从mysql中删除多个子表?

问如何从mysql中删除多个子表?
EN

Stack Overflow用户
提问于 2016-03-23 02:39:54
回答 1查看 64关注 0票数 1

我是php-mysql的新手。我有一个带有类别的表和另一个带有子类别的表。我为每个子类别创建了一个单独的表。当我尝试删除一个类别时,我需要删除所有子类别表。但是我的子类别表并没有被删除。我的代码是:

代码语言:javascript
复制
<?php
if(isset($_GET['id2']))
{
$con=mysql_connect('localhost','root','')or die ("error in connection");
$sel=mysql_select_db('category',$con);

$id=$_GET['id2'];
//echo $id;

$sql1="DELETE subcat FROM category INNER JOIN subcat  
WHERE category.id=subcat.id and category.id='$id'";
mysql_query($sql1);
$sql2 = "DELETE FROM category WHERE id='$id'";
mysql_query($sql2);

$da="SELECT * FROM subcat WHERE id='$id'";
//print $da;
$data = mysql_query($da) or die(mysql_error());
while($row = mysql_fetch_array($data))
{
    $x = $row['sub'];
    $sql33="DROP TABLE $x";
    mysql_query($sql33) or die(mysql_error());
    echo $sql33;

}

header('location:category.php');
}
?>

请指教我哪里错了……

谢谢,Sujith

EN

回答 1

Stack Overflow用户

发布于 2016-03-23 02:52:08

首先删除subcat和cat表中的记录,然后再次尝试检索子cat记录以删除这些表,这显然将是一个空列表。首先获取表的列表,然后删除记录,然后删除表。

但老实说,您不应该在运行中创建和删除表。这首先表明了糟糕的数据库设计!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36162591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档