mysql - 如何在 CodeIgniter 模型中使用 ON DUPLICATE KEY UPDATE?

标签 mysql activerecord codeigniter model

我有一个 CodeIgniter/PHP 模型,我想将一些数据插入数据库。

但是,我在“原始”SQL 查询中设置了此设置:

ON DUPLICATE KEY UPDATE duplicate=duplicate+1

我正在使用 CodeIgniter,并将之前的所有 Controller 内 SQL 查询转换为 ActiveRecord。有什么方法可以在基于 ActiveRecord 的模型中执行此操作吗?

谢谢!

jack

最佳答案

您可以添加“ON DUPLICATE”语句,而无需修改任何核心文件。

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

希望它能对某人有所帮助。

关于mysql - 如何在 CodeIgniter 模型中使用 ON DUPLICATE KEY UPDATE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40789855/

相关文章:

php - CodeIgniter 和 PhPBB 3.1.3 集成

ruby-on-rails - Rails 模型可能有_一种不同类型的模型

mysql - 如何使用剩余表的自动增量值插入多个表

mysql - laravel 根据属性过滤结果

php - MySQL 无法通过 PHP 运行

ruby-on-rails - rake 数据库 :seed generates ArgumentError: missing keywords: from, 到

php - Codeigniter:使用 insert_batch() 检索 insert_ids

php - CodeIgniter 对没有主键的表进行查询

codeigniter - Facebook sdk v5 集成到 codeigniter

mysql - 如何在执行特定查询集之前检查 mysql 中的空条件?