大家好,我有两个表是这种结构
发票表:
var end
invoice_infos:
invoice_id
customer_name
order_date
现在我要查询一个查询,该查询在两个表中同时删除具有相同invoice_no的行
答案 0 :(得分:1)
如果两个表相关,并且您打算每当从invoice_infos
表中删除一条记录时就从invoice
表中删除记录,则您需要FOREIGN KEY
和CASCADE DELETE
alter table invoice_infos
add constraint invoice_fkey
foreign key (invoice_id)
references invoice(invoice_id)
on delete cascade;
之后,无论何时发出
DELETE FROM invoice WHERE invoice_id = 5;
invoice_infos上的相关值也将被删除
答案 1 :(得分:0)
您正在寻找Multiple-Table DELETE
Syntax:
DELETE invoice, invoice_infos
FROM invoice
INNER JOIN invoice_infos ON invoice.invoice_id = invoice_infos.invoice_id
WHERE invoice.invoice_id = ?;
您可以将?
替换为要删除的发票的ID。