开发者社区> 问答> 正文

MYISAM怎么保证数据的完整性

因为业务一个逻辑可能要操作几个表,由于用的是MYSQL 的MYISAM 引擎,不支持事务,请问MYISAM怎么能保证数据的完整性?
例如有A、B、C操作,如果A插入成功,B更新成功,C失败,不联表怎么保证A,B的数据是对的?
另外如果换成INNODB引擎的话,涉及到A、B、C操作的代码逻辑是不是都要去加上事务处理代码?

展开
收起
蛮大人123 2016-02-11 15:16:00 2275 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    如果选用MYISAM引擎却又要保证的数据的完整性,那就只能通过编写自己的数据校验代码去检查。网上也有利用临时表/中间表的方法。
    如果换成了innodb的话,请将你对a,b,c中数据的操作放在同一个事务中。
    2
    虽然innodb提供了事务回滚的功能,但也请注意尽量不要在事务中进行不连续的业务操作,比如调用核心的第三方接口什么的,毕竟你能滚的只有你的数据库而已。

    2019-07-17 18:40:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
事务、全局索引、透明分布式 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载