如何使用C#
更新另一个表时自动更新表大家好,我有4(4)个表使用MySql数据库,即:
tb_item (
id_item, (varchar) --> PK
item_name, (varchar)
price, (double)
)
tb_order (
id_order, (varchar) --> PK
id_item, (varchar) -->FK
date_order, (date)
lead_time, (float)
order_quantity, (double)
)
tb_use (
id_use, (varchar) --> PK
id_item, (varchar) -->FK
date_use, (date)
use_quantity, (double)
)
tb_inventory (
id_inventory, (varchar) --> PK
id_item, (varchar) --> FK
id_order, (varchar) --> FK
id_use, (varchar) --> FK
item_stock, (double)
)
我的问题是我希望 tb_inventory 中的 item_stock 自动更新: tb_order.order_quantity 或 tb_use.use_quantity 已更新,然后 tb_inventory.item_stock 将使用计算“ tb_order.order_quantity - tb_use.use_quantity = tb_inventory.item_stock ”自动更新(例如:10 - 7 = 3 )。反之亦然。 如何在C#中为问题创建代码。
请提前帮助,谢谢。
答案 0 :(得分:1)
您可以使用triggers执行此操作,但最好将数据库规范化,以便此信息仅存储在一个位置。如果您使用触发器,而某些数据库未正确更新,则该错误可能会持续很长时间而不被注意。
另一种方法是创建一个视图,通过查询其他表来计算库存量。这会给性能带来轻微影响,因为每次请求时都必须重新计算该值。通过添加索引可以部分地解决此性能问题,从而可以非常快速地重新计算。最后,这取决于您是否对原始速度,结果的一致性和正确性更感兴趣。