我想从两个表中删除但它不起作用

时间:2014-04-20 15:15:44

标签: php sql database

我试过这段代码......

> if($del == true)      
{

mysql_query("DELETE FROM member WHERE username = '".$del."' ");

mysql_query("DELETE FROM register WHERE username = '".$del."' ");

mysql_db_query("cbcompany");
echo 

"<script>

alert('Remove one member out :/(');window.location = 'member.php';

</script>";
}

但它只是从“register”表中删除,但在“member”表中它没有删除 我该怎么办? 谢谢你的回答。

2 个答案:

答案 0 :(得分:2)

如果两个表之间存在链接,其中member是父项,register是子项,则必须先从子表中删除。在这种情况下,从成员中删除会失败,因为在删除子项之前您无法删除父项。

另一个解决方案是在两个表之间设置级联删除,因此当您从成员中删除时,它会自动从寄存器中删除。我通常更喜欢明确地这样做 - 我不喜欢自动删除,这有点超出了我的控制范围。

如此快速的回答,只需颠倒查询的顺序 - 首先执行注册,然后执行成员。

答案 1 :(得分:-1)

试试这个:

if($del == true)      
{

mysql_query("DELETE FROM member WHERE username = '".$del."' ");

mysql_db_query("cbcompany");

mysql_query("DELETE FROM register WHERE username = '".$del."' ");

mysql_db_query("cbcompany");
}