INSERT Batch,如果在 codeigniter 中重复键更新

Posted

技术标签:

【中文标题】INSERT Batch,如果在 codeigniter 中重复键更新【英文标题】:INSERT Batch, and if duplicate key Update in codeigniter 【发布时间】:2014-01-12 09:42:28 【问题描述】:

有没有办法在批量插入查询中执行,如果键已经存在,更新 codeigniter 中的那一行? 我浏览了文档,发现只有 insert_batch 和 update_batch。但是如何在活动记录中使用重复键更新行?如果在 batch_insert 中插入或更新一行失败会怎样?所有插入都失败还是只有那一行?

【问题讨论】:

***.com/a/10372550/1239506 【参考方案1】:

您将不得不通过添加“ON DUPLICATE”语句来进行少量自定义查询

$sql = $this->db->insert_string('YourTable', $data) . ' ON DUPLICATE KEY UPDATE duplicate=duplicate+1';
$this->db->query($sql);
$id = $this->db->insert_id();

也请check this out,它会给你更好的解决方案

【讨论】:

【参考方案2】:

对于 Codeigniter 3,你可以使用这个库。这使您能够提供要插入到单独行中的键值对数组,并且如果数据库中出现重复键,则将自动更新数据。 https://github.com/amir-ranglerz/CodeIgniter-Insert-Batch-on-DUPLICATE-KEY-Update

【讨论】:

以上是关于INSERT Batch,如果在 codeigniter 中重复键更新的主要内容,如果未能解决你的问题,请参考以下文章

Batch Entry 0 insert into PGSQL-Call getNextException 查看原因

mybatis batch insert

来自 json api 的 Insert_batch

Codeigniter insert_batch 错误

Codeigniter insert_batch 问题

如何修复'$this->db->insert_batch($this->tbl, $data) 没有显示任何错误也没有插入数据库'?