Использование «ON DUPLICATE KEY UPDATE» с моделями ActiveRecord CodeIgniter
В моделях 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 Duplica=LAST_INSERT_ID(duulate)», он гарантирует, что при обнаружении повторяющегося ключа дубликат поля увеличивается при успешной вставке. Функция LAST_INSERT_ID() позволяет получить идентификатор вновь вставленной строки, даже если обновление происходит из-за дублирующегося ключа.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3