MySQL删除,更新或插入行

时间:2012-10-10 05:30:46

标签: c# .net mysql

我正在使用MySQL DBMS。我有Document table and Order tablerelationship之间的one to manyinsert

创建文档后,用户可Order table向该文档发送一些订单{{1}}。 当用户点击注册按钮时,它会生效。但之后,用户可以编辑该文档。他/她可以更改,更新,删除订单。

当点击注册按钮时,它将影响Order表。当编辑我想要删除该文档的所有订单,然后再次插入。但它似乎对我不好,例如,如果有100个订单和用户只更改1行,我必须删除100行并再次插入100行,或者如果用户添加新订单,我必须删除100行并添加101行。

处理这种情况的最佳方法是什么?请注意我正在使用C#。提前谢谢。

1 个答案:

答案 0 :(得分:1)

只要文档发生更改,您就应该为文档创建新记录。您可以为文档使用唯一标识符,然后对文档进行版本控制。每个订单都应与特定版本的文档相关。

这样,您可以编辑文档,每当您编辑文档时,都会创建一个新版本,并且该版本将获得新订单。所有版本的唯一标识符将保持不变。简而言之,文档将由唯一标识符和版本标识。

您建议的方法存在问题,即当您修改文档时,您将重新插入所有订单,但您将永远无法追溯订单所针对的原始文档。