【问题标题】:Mysqli delete row from multiple tablesMysqli 从多个表中删除行
【发布时间】:2012-08-06 22:54:06
【问题描述】:

我是使用 mysqli 查询的新手。我正在尝试使用以下代码从多个表中删除一行:

$del_final = "DELETE confirm, coupon, cpn_image, c_token, deal_24 
              FROM confirm, coupon, cpn_image, c_token, deal_24
              WHERE confirm.customer_id=?
              AND coupon.customer_id=?
              AND cpn_image.customer_id=?
              AND c_token.customer_id=?
              AND deal_24.customer_id=?";

if($stmt->prepare($del_final))
{
    $stmt->bind_param('iiiii', $customer_id, $customer_id, $customer_id, $customer_id, $customer_id);
    $OK3 = $stmt->execute();
    $stmt->free_result();
}

似乎只有在每个表中有一行具有匹配的 customer_id 时才会删除。我是否误解了如何执行此操作?

【问题讨论】:

  • 你的 SQL 语法不好。使用 DELETE FROM table WHERE column=value 并对每个表使用一个删除查询或使用外键。
  • 我有很多需要删除的表,所以我认为这可以使用 mysqli。

标签: mysqli


【解决方案1】:

我认为这个查询很糟糕,非常糟糕。我建议您使用 ID 作为输入参数创建一个存储过程,然后对每个表使用一次删除,这就是这样做的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2012-05-21
    • 1970-01-01
    相关资源
    最近更新 更多