MYISAM怎么保证数据的完整性

因为业务一个逻辑可能要操作几个表,由于用的是MYSQL 的MYISAM 引擎,不支持事务,请问MYISAM怎么能保证数据的完整性?

例如有A、B、C操作,如果A插入成功,B更新成功,C失败,不联表怎么保证A,B的数据是对的?

另外如果换成INNODB引擎的话,涉及到A、B、C操作的代码逻辑是不是都要去加上事务处理代码?

阅读 5.1k
1 个回答

如果选用MYISAM引擎却又要保证的数据的完整性,那就只能通过编写自己的数据校验代码去检查。网上也有利用临时表/中间表的方法。
ε-(´・`)========
如果换成了innodb的话,请将你对a,b,c中数据的操作放在同一个事务中。

开始使用事务
...A酱blablabla
...B酱blablabla
...C酱blablabla
事务结束,提交

另:虽然innodb提供了事务回滚的功能,但也请注意尽量不要在事务中进行不连续的业务操作,比如调用核心的第三方接口什么的...(´_`。),毕竟你能滚的只有你的数据库而已。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏