Usando 'ON DUPLICATE KEY UPDATE' com os modelos ActiveRecord do CodeIgniter
Nos modelos CodeIgniter, você pode usar o método de inserção padrão, mas você precisa para adicionar manualmente a instrução "ON DUPLICATE KEY UPDATE" à consulta SQL. Veja como você pode conseguir isso:
$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();
Ao adicionar a instrução "ON DUPLICATE KEY UPDATE duplicado=LAST_INSERT_ID(duplicate)", ele garante que quando uma chave duplicada for encontrada, o campo duplicado é incrementado enquanto a inserção é bem-sucedida. A função LAST_INSERT_ID() permite recuperar o ID da linha recém-inserida, mesmo quando ocorre uma atualização devido à chave duplicada.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3