两个表中的多个删除


Multiple delete in two tables

Table APP

柜台 |项目100001 |圆珠笔 100002 |铅笔 100003 |债券票据 100004 |标记

Purchase_Order

柜台 |地位100001 |是的 100001 |是的 100001 |是的 100004 |不

我想删除app表和purchase_order表中的所有计数器100001。我该怎么做?

这是我的代码

应用.php

<a href="app.php?de='.$row["counter"].'">
if(isset($_GET['de']))
{
$del_id=$_GET['de'];
sql= ...
}

常规方法查询如下所示

DELETE a, p
  FROM 
(
  SELECT 100001 counter
) q LEFT JOIN app a 
    ON q.counter = a.counter LEFT JOIN purchase_order p
    ON q.counter = p.counter;
它将删除两个表中的行,

即使其中一个表中没有带有counter = 100001的行

这是 SQLFiddle 演示

尝试以下操作:

DELETE a.*, p.*
FROM app a
LEFT JOIN purchase_order p
    ON p.counter = a.counter
WHERE a.counter = 100001

试试这个:

sql= "DELETE FROM a.*, b.* from app a LEFT JOIN purchase_order b 
on a.counter=b.counter where a.counter=".$del_id;

尝试以下查询

DELETE a.*,b.* FROM app as a LEFT JOIN purchase_order as b ON a.counter=b.counter WHERE a.counter=100001