错误 - 无法添加或更新子行:外键约束失败

时间:2018-03-30 05:30:51

标签: c# mysql

我有两张桌子,

purchase(purchId,date,empId,supId)
item(itemID,name,qty,unit_price)

purchase_item(purchId,itemID,qty,unit_price)

购买表和商品表格更新正常,但当我尝试更新purchase_item时,

  

无法添加或更新子行:外键约束失败(bookshoppurchase_item,CONSTRAINT purchase_item_ibfk_1 FOREIGN KEY(purchId)REFERENCES {{ 1}}(purchase)ON DELETE CASCADE ON UPDATE CASCADE)

使用更新声明,

purchId

代码,W

Insert into purchase_item values('" + invoice + "','" + ItemId + "','" + qty + "','" + unitPrice + "')"; (working on a C# project)

2 个答案:

答案 0 :(得分:0)

您收到此错误的原因是您尝试根据当前存储在购买和项目表中的值向buy_item添加没有itemID或purchId字段的有效值的行。如果您发布更多代码,我可以帮助您诊断具体原因。

答案 1 :(得分:0)

尝试按照步骤操作,希望你会得到问题所在:

  1. 首先检查您的查询是否在以下行中成功执行
  2. string query1 = "Insert into item values('" + ItemId + "','" + ItemName + "','" + Category + "','" + qty + "','" + UnitPrice + "')"; int rows = db.SaveUpdateDelete(query1);

    你进入了什么"行",然后

    首先更改您的代码以插入购买,然后创建商品列表,然后插入purchase_items。

    如果您在Purchase_items中使用购买ID,那么。

    您可以另外确认一下您在这个问题上遇到的代码行。

    UPDATE:再做一件事,请先传递静态值以验证SP是否正常工作。