mysql实战技巧

1.mysql数据表中的两个字段同时外连接到另外一张表

比如用户id,邀请人id再user表中,需要连接userinfo表中查看两个字段对应的姓名
方法给表设置别名

 M('transfer_amount ta')
->join("yixiang_user u1 on u1.uid = ta.from_uid")
 ->join("yixiang_user u2 on u2.uid = ta.to_uid")
 ->join("yixiang_user_info ui1 on ui1.uid = u1.uid")
 ->join("yixiang_user_info ui2 on ui2.uid = u2.uid")
 ->find();

2.捕获数据库插入异常然后让数据回滚,防止数据出错

注意 :必须是innodb数据引擎

 M()->startTrans();
try{
    
    
  M('user')->where(array('uid'=>1))->setInc("num");  //user表存在
  M('exception')->where(array("id"=>1))->setInc("num");  //exception表不存在
  }catch (\Exception $e){
    
    
      M()->rollback();
      echo $e->getMessage();
  }
  M()->commit();

猜你喜欢

转载自blog.csdn.net/kevlin_V/article/details/106800152