我正在使用MySQL DBMS
。我有文档表和订单表
。它们之间的关系
是一对多
.
创建文档后,用户可以插入
一些订单到该文档的订单表
。
当用户点击注册按钮时,它会对表格生效。但是之后,用户可以编辑该文档。他/她可以更改、更新、删除订单。
当点击注册按钮时,它将影响订单表。编辑时我想删除该文档的所有订单,然后再次插入。但在我看来这不太好,例如,如果有 100 个订单和用户只更改 1 行,我必须删除 100 行并再次插入 100 行,或者如果用户添加新订单,我必须删除 100 行并添加 101 行。
处理这种情况的最佳方法是什么?请注意,我使用的是 C#。提前致谢。
最佳答案
每当文档发生更改时,您都应该为文档创建一条新记录。您可以使用文档的唯一标识符,然后对文档进行版本控制。每个订单应该与特定版本的文档相关。
这样,您就可以编辑文档,并且每当您编辑文档时,都会创建一个新版本,并且该版本将有新订单。所有版本的唯一标识符将保持不变。简而言之,文档将通过唯一标识符和版本来标识。
您建议的方法有问题,即当您修改文档时,您将重新插入所有订单,但您将永远无法追溯到订单所在的原始文档。
关于c# - MySQL 删除、更新或插入行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12812526/