mysql 事务的处理,想问下这种情况下需要使用事务吗

2022 年 6 月 30 日
 rower
一个接口,涉及到两个表,两条 sql 。就是把这条数据从一个表删除,然后把数据插入到另一个表。

新加一个字段,标记为是否删除这种情况不考虑啊!
新加一个字段,标记为是否删除这种情况不考虑啊!
新加一个字段,标记为是否删除这种情况不考虑啊!

我想了下,只有当这个接口处理失败,比如说只删除数据,没有插入数据才会有问题。
当并发时,如果这个接口执行到一半,其他人查询表,虽然结果不准确,但是只要接口成功,那么结果最终会准确。
如果不是那种金融场景的话,这里可以容忍
1471 次点击
所在节点    问与答
7 条回复
aitaii
2022 年 6 月 30 日
有一个 low 的方案,用触发器
yuancoder
2022 年 6 月 30 日
hidemyself
2022 年 6 月 30 日
需要事务
rower
2022 年 6 月 30 日
@yuancoder
@hidemyself
为啥呢
BeautifulSoap
2022 年 6 月 30 日
按理说是要的,但如果你不想用事物的话,为什么不反过来先把数据插入另一个表,然后再从原始表把数据删除?
按照 lz 的意思,反正数据插入另一个表没问题吧
themostlazyman
2022 年 6 月 30 日
为啥不需要呀,出问题给自己找麻烦。实在不想加建议先插入到另外一张表,再删除。
akira
2022 年 6 月 30 日
删除标记就是最优解

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863134

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX