php - Laravel updateOrCreate 插入随机重复项
问题描述
我的项目遇到了一个特殊的问题。我在 MySQL 中使用 laravel 5.4。我正在插入多条记录(30,60 等),并且很少插入重复记录。例如,在创建从 2018 年 1 月 1 日到 2018 年 1 月 30 日的记录时,即它应该插入 30 条记录。有时它会插入 30 条记录,但通常会插入更多。可能很少有重复条目,例如 5、6、7 和 21、22、23、24 等。我在 Github 上查看过这个问题,很少有人遇到这个问题,很少有人说这是因为“种族条件”。真的是因为 Race conditions 吗?为什么会出现这种重复?有什么方法可以防止它,我宁愿不锁定我的数据库,因为可能有多个人同时插入。建议表示赞赏。
`$sdata = [
'tenant_id' => Helper::getTenantID(),
'branch_id' => Helper::getBranchID(),
'user_id' => Helper::getUserID(),
'service_request_id' => $serviceRequestID,
'amount' => $netRate,
'notes' => $notes,
'status' => 'Pending',
];
Schedule::updateOrCreate($sdata);`
解决方案
推荐阅读
- r - 除非条件适用,否则如何将音位转录与单个元音匹配
- sql - 在外键上连接两个表时缺少 FROM 子句
- c++ - 使用 zlib 和 Crypto++ 压缩文件的大小差异
- vb.net - 开发应用程序的最低要求
- linux - 如何在 Linux 中使用 sed 将字符串替换为多个分号和特殊字符
- docker - 权限问题 - 无法将日志文件写入 docker-volume
- python - 如何自动化 python 脚本,以便每次我将文件拖到某个文件夹时运行它(在 mac 上)
- javascript - 基于键合并数组并添加它们的值。Javascript/Es6/反应
- latex - Overleaf API - 如何以编程方式上传图片?
- java - 使用键从链表中删除节点