插入批处理,如果重复的密钥更新在代码点火器中



有没有办法批量执行插入查询,如果密钥已经存在,请在代码点火器中更新该行?我浏览了文档,只找到了insert_batch和update_batch。但是如何在活动记录中使用重复键更新行?如果在batch_insert中无法插入或更新一行会发生什么情况?所有插入都失败还是只有那行失败?

您必须通过添加"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();

另外请检查一下,它将为您提供更好的解决方案

对于 Codeigniter 3,您可以使用此库。这允许您提供要插入到单独行中的键值对数组,并在数据库中出现重复键时自动更新数据。https://github.com/amir-ranglerz/CodeIgniter-Insert-Batch-on-DUPLICATE-KEY-Update

相关内容

  • 没有找到相关文章

最新更新