"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo utilizar \'ON DUPLICATE KEY UPDATE\' con los modelos ActiveRecord de CodeIgniter?

¿Cómo utilizar \'ON DUPLICATE KEY UPDATE\' con los modelos ActiveRecord de CodeIgniter?

Publicado el 2024-11-10
Navegar:422

How to Use \'ON DUPLICATE KEY UPDATE\' with CodeIgniter\'s ActiveRecord Models?

Uso de 'ACTUALIZACIÓN DE LLAVE DUPLICADA' con los modelos ActiveRecord de CodeIgniter

En los modelos CodeIgniter, puede usar el método de inserción estándar, pero necesita para agregar manualmente la instrucción "ON DUPLICATE KEY UPDATE" a la consulta SQL. Así es como puedes lograr esto:

$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();

Al agregar la declaración "ON DUPLICATE KEY UPDATE duplicado=LAST_INSERT_ID(duplicado)", se garantiza que cuando se encuentre una clave duplicada, el campo duplicado se incrementa mientras la inserción se realiza correctamente. La función LAST_INSERT_ID() le permite recuperar el ID de la fila recién insertada, incluso cuando se produce una actualización debido a la clave duplicada.

Declaración de liberación Este artículo se reimprime en: 1729663515 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3