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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值