因为业务一个逻辑可能要操作几个表,由于用的是MYSQL 的MYISAM 引擎,不支持事务,请问MYISAM怎么能保证数据的完整性?
例如有A、B、C操作,如果A插入成功,B更新成功,C失败,不联表怎么保证A,B的数据是对的?
另外如果换成INNODB引擎的话,涉及到A、B、C操作的代码逻辑是不是都要去加上事务处理代码?
如果选用MYISAM引擎却又要保证的数据的完整性,那就只能通过编写自己的数据校验代码去检查。网上也有利用临时表/中间表的方法。
如果换成了innodb的话,请将你对a,b,c中数据的操作放在同一个事务中。
虽然innodb提供了事务回滚的功能,但也请注意尽量不要在事务中进行不连续的业务操作,比如调用核心的第三方接口什么的,毕竟你能滚的只有你的数据库而已。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。