Php 当两个或三个用户同时请求时,我有重复的ID
当两个或三个用户请求时,我获取最后一个ID并将其递增,并将其存储为发票的第二个ID,同时将重复的ID存储在DB中。这是密码Php 当两个或三个用户同时请求时,我有重复的ID,php,mysql,laravel-5,Php,Mysql,Laravel 5,当两个或三个用户请求时,我获取最后一个ID并将其递增,并将其存储为发票的第二个ID,同时将重复的ID存储在DB中。这是密码 $id_num = DB::table('slips')->latest('id')->first(); $now = \jDate::forge('now')->format('date'); $old = $id_num->date; $slep_id = 0; if($now>$old){ $slep_id = 1; } el
$id_num = DB::table('slips')->latest('id')->first();
$now = \jDate::forge('now')->format('date');
$old = $id_num->date;
$slep_id = 0;
if($now>$old){
$slep_id = 1;
}
else{
$slep_id = $id_num->id_num+1;
}
$formatted_slep = sprintf("%04d",$slep_id);
现在,当我将它存储在数据库中时,它有时会复制
$slip = new Slip;
$slip->id = $formatted_slep;
$slip->save();
使用事务:
DB::transaction(function () {
$slip = new Slip;
$slip->id = $formatted_slep;
$slip->save();
});
简单亲爱的,只需使用rand函数并在sesseion中赋值并保存它。MySQL可以返回插入查询中分配的自动增量id。你不应该自己计算