我有3张桌子.
> InvoiceOriginal
>发票
> InvoiceHistory
invoice表具有外键约束.
发票表中的每个条目在Invoiceoriginal中都有相应的条目.
invoiceOriginal表存储发票的原始值,发票表存储用户已修改的值.
这样做是为了在提交时获得不同之处.
我正在使用的sql是
DELETE i FROM invoice i INNER JOIN InvoiceHistory aih ON i.ClientId = aih.HistoryClientNumber AND i.invoiceNumber = HistoryInvoiceNumber
但是由于外键约束而无法删除.
该表如下:
Invoice InvoiceOriginal InvoiceHistory Id FK_InvoiceId ClientId ClientId ClientId InvoiceNumber InvoiceNumber
一旦InvoiceHistory中有相同clientId的发票编号条目,我需要删除发票和InvoiceOriginal中的条目.
解决方法
您不能一次针对多个表发出delete语句,在删除父记录之前,需要为每个相关表创建单独的delete语句.