在 CodeIgniter 的 ActiveRecord 模型中使用“ON DUPLICATE KEY UPDATE”
在 CodeIgniter 模型中,您可以使用标准插入方法,但您需要手动将“ON DUPLICATE KEY UPDATE”语句添加到 SQL 查询中。实现此目的的方法如下:
$data = [
'name' => 'John Doe',
'age' => 30
];
// Create the insert string
$sql = $this->db->insert_string('users', $data);
// Append the "ON DUPLICATE KEY UPDATE" statement
$sql .= ' ON DUPLICATE KEY UPDATE duplicate=LAST_INSERT_ID(duplicate)';
// Execute the query
$this->db->query($sql);
// Get the insert ID
$id = $this->db->insert_id();
通过添加“ON DUPLICATE KEY UPDATE重复=LAST_INSERT_ID(duplicate)”语句,保证遇到重复key时,重复字段插入成功时递增。 LAST_INSERT_ID() 函数允许您检索新插入行的 ID,即使由于重复键而发生更新也是如此。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3