sql >> Base de Datos >  >> RDS >> Mysql

¿Hay alguna manera de hacer una INSERCIÓN... EN ACTUALIZACIÓN DE CLAVE DUPLICADA en Zend Framework 1.5?

Trabajé para Zend y específicamente trabajé bastante en Zend_Db.

No, no hay soporte de API para ON DUPLICATE KEY UPDATE sintaxis. Para este caso, simplemente debe usar query() y forme usted mismo la instrucción SQL completa.

No recomiendo interpolar valores en el SQL como muestra harvejs. Usar parámetros de consulta.

Editar:puede evitar repetir los parámetros usando VALUES() expresiones.

$sql = "INSERT INTO sometable (id, col2, col3) VALUES (:id, :col2, :col3)
  ON DUPLICATE KEY UPDATE col2 = VALUES(col2), col3 = VALUES(col3)";

$values = array("id"=>1, "col2"=>327, "col3"=>"active");