php - 为什么 Laravel Upsert 会调整 auto_increment 值?
问题描述
好的,我正在 Laravel 中进行批量更新,它基于匹配字段不是主键,但是它是唯一的。
$array_to_insert = [];
foreach ($array as $account) {
$record_array = [];
$record_array['name'] = $account['name'];
$record_array['coingecko_id'] = $account['id'];
$record_array['identifier'] = strtoupper($account['symbol']);
$record_array['current_price'] = $account['current_price'];
$record_array['market_cap'] = $account['market_cap'];
$record_array['market_cap_rank'] = $account['market_cap_rank'];
$record_array['type'] = "cryptocurrency";
array_push($array_to_insert, $record_array);
}
$result = CryptoAccount::upsert($array_to_insert, ['identifier'], ['name','coingecko_id','identifier','current_price','market_cap','market_cap_rank']);
var_dump($result);
它一次查看大约 350 个结果,并且 auto_increment 值上升相同,即使它只更新大多数行而不插入它们。
解决方案
推荐阅读
- reactjs - 接收缺少返回类型注释的“useState”,尽管指定了类型,但隐含地具有“任何”返回类型
- flutter - flutter_riverpod 如何监听列表
- reactjs - ReactAdmin 不能完全识别自定义资源功能组件
- database - 如何安排 Oracle 数据库中的作业在特定时间每天重复 5 次
- typescript - 我可以在不先构建所有包的情况下在我的 yarn 工作区 typescript 项目上运行 lint 吗?
- java - 根据与每个轴android的对齐方式更改颜色
- c - 素数分解程序不适用于某些输入
- vue-router - router-link “to” 属性复制部分 url(使用 VueJS 3)
- kubernetes-helm - 秘密注入@azurekeyvault 永远等待
- php - 解析错误:语法错误,意外的 'POST' (T_STRING),期待 ',' 或 ';' 在第 175 行的 C:\xampp\htdocs\login.php