mysql - INSERT 批处理,如果在 codeigniter 中有重复键更新

标签 mysql database codeigniter bulkinsert batch-updates

有没有办法批量执行插入查询,如果 key 已经存在,则在 codeigniter 中更新该行? 我浏览了文档,只找到了 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();

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

关于mysql - INSERT 批处理,如果在 codeigniter 中有重复键更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20755949/

相关文章:

php - 如何将预先存在的类别和产品转换为 SEO 友好的 URL

mysql 计算单个表中的记录,需要帮助

javascript - 从数据库获取图像并将其链接到 php 中的功能或新闻等

javascript - 为 mocha 测试设置数据库连接的最佳实践和最有效的方法

php - 带有 CDN 的 Codeigniter

python - 在循环结果集时插入行

mysql - 使用 mysql 拆分列内的逗号分隔值并计算满足条件的值

mysql - 将一个表中的动态数量的条目存储到另一个表中的单行

codeigniter - 修改 CodeIgniter 中管理面板的路由

mysql - 如何使用 mysqli_real_escape_string 转义单引号?