我有两张表:details
和Product
两个表都有一个字段user_id
。它是表顺序中的主键
在表Product中我创建了一个外键。我执行以下查询。
最初这些表有两个记录,一个记录user_id=11
,另一个记录user_id=12
我执行了以下脚本
// making the database connection
$db2=mysql_connect("localhost","root","");
mysql_select_db("my_requests",$db2);
$query=mysql_query("SELECT details.*,product.* FROM details INNER JOIN product ON details.user_id = product.user_id");
while($row=mysql_fetch_array($query)){
$id=$row['user_id'];
echo "$id";
$query1=mysql_query("DELETE FROM details WHERE details.user_id=$id");
$query2=mysql_query("DELETE FROM product WHERE product.user_id=$id");
}
执行时,它只删除了user_id = 12的记录。 当我试图再次执行它时,它既没有回显任何东西,也没有删除剩余的记录。
请纠正错误的英语。
我在循环结束时打印了这个:
printf(“已删除的记录:%d \ n”,mysql_affected_rows());
它没有显示任何内容
答案 0 :(得分:1)
尝试使用 mysql_affected_rows()
这样你可以确定Rows是否正在删除,即使没有行受影响,DELETE查询也会成功
答案 1 :(得分:0)
mysql_affected_rows() to check affected id
我认为您的数据库在第二次运行时没有显示任何内容