数据库事务在 MYSQL / PHP 的体系下,尤其是“小系统”下面用的真是不多,本站用的 FLARUM 是少见的在数据库里面用了 foreign key + transaction 的,挺奇怪的,为啥要把一个论坛的数据完整性验证的那么好呢?
CodeIgniter 简称 CI 是写小系统的,commit / rollback 实话说我都没见过几个 CI 正经程序里面用到的,非金融系统,用它干啥呢?虽然数据库的范式里面说到RDBS的一致性是个很严肃的事件。
所以,CI 的正确的数据库事件的姿势,应该就是尽量避开不用吧。人生中碰到PHP没挂数据库挂了的事件虽然很多,但在新西兰的生产线上这个事儿还真的就不多。
非要严格限制
trans_start()
xxxxx
trans_complete()
碰到错误抛出一个 exception 然后 在里面 rollback,个人感觉还是用JAVA去写呗?
完了,作为一个 PHP程序员怎么教人鄙视PHP呢