在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