Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Existe uma maneira de fazer um INSERT...ON DUPLICATE KEY UPDATE no Zend Framework 1.5?


Eu trabalhei para Zend e especificamente trabalhei bastante em Zend_Db.

Não, não há suporte de API para ON DUPLICATE KEY UPDATE sintaxe. Para este caso, você deve simplesmente usar query() e forme você mesmo a instrução SQL completa.

Eu não recomendo interpolar valores no SQL como mostra o harvejs. Use parâmetros de consulta.

Edit:Você pode evitar repetir os parâmetros usando VALUES() expressões.
$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");