laravel中关于DB::getPdo()->lastInsertId()的证明

声明:原创文章,转载请标明出处! 

     在数据库中主键自增的情况下,有时我们需要获取本次插入的id,laravel中给我们提供了DB::getPdo()->lastInsertId()这个方法(真的很方便)!

      当我们在用的顺其自然的时候,不知道是不是想过这个id会不会“混乱”或者“冲突”,不知道这个方法是基于数据库还是客户端浏览器的,下面开始我自己的测试:

图一

图二

在浏览器分别调用这个两个方法后我们发现:图一返回实际ID,图二则一直返回0

经过测试我们可以断定DB::getPdo()->lastInsertId()这个方法不是基于数据库来获取的id;

但是,我们又考虑到线程并发的情况下,能不能保证我们拿到正确的id呢,改进方法后,下面我们继续进行测试:

 

图三

图四

我们先用postman进行传参为1测试,保证是在插入方法执行后,再在浏览器传参为2进行测试;

从测试结果我们可以看到,即使在并发的情况下,DB::getPdo()->lastInsertId()返回的id也是正常使用的,并没有“混乱”的一说!

请放心大胆的使用!

 

声明:原创文章,转载请标明出处!

写自己的代码,送给那些曾经瞧不起你的人!

                                           ----------------------lonelykeyboard

                                                                      2019.01.25
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值