gpt4 book ai didi

mysql - 如何使用一个查询跨多个表进行删除?

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:55 24 4
gpt4 key购买 nike

我有两个如下所示的表:

表 1:发票

表 2:发票详情

public function deleteInvoice($id='')
{
if( !empty( $id ) ){
$query = "DELETE FROM invoices where uuid ='$id'";
if(mysqli_query($this->_con, $query))return true;
else return false;
}else{
return false;
}
}

表 2 包含一个名为“invoice_id”的列,它与表 1 的“id”相关

每当我使用上述功能删除发票时,我也想同时删除 invoice_details。有没有一种简单的方法可以修改上面的代码来做到这一点?

最佳答案

首先你需要在 invoice_details 上加上一个外键约束

ALTER TABLE invoice_details
ADD CONSTRAINT fk_invoice
FOREIGN KEY(invoice_id)
REFERENCES invoices(id)
ON DELETE CASCADE;

然后你可以删除你的发票,它会自动删除详细信息

关于mysql - 如何使用一个查询跨多个表进行删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34162568/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com