php - 两表多次删除

标签 php mysql sql mysqli

APP

counter | Item
100001  | Ballpen  
100002  | Pencil  
100003  | Bond Paper  
100004  | Marker

Table Purchase_Order

counter | Status
100001  | Yes  
100001  | Yes  
100001  | Yes  
100004  | No

I want to delete all of counter 100001 in app and purchase_order tables. How can I do that?

And this is my code

app.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 演示

关于php - 两表多次删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19921785/

相关文章:

android - 在 Android Room 中如何创建和调用自定义查询

mysql - 从 MySql 中的多个表中获取最后几行?

php - 如何在 PHP 文件之间传递数据库连接实例而不重新声明它

php - 多层次不同类型的继承

php - mysql : how to submit 2 sets of checkbox in two different column in a table

mysql - 从 SQL 中的时间戳获取第一个日期

php - Laravel:未找到 Layouts.master

mysql按工作日选择计数组的总和

MySqlException : Table 'membership.aspnetusertokens' doesn't exist ASP. NET Core 5 身份

c# - GROUP BY、ORDER BY 和 LINQ 中的第一