Mysql
 sql >> Database >  >> RDS >> Mysql

C'è un modo per eseguire un INSERT... ON DUPLICATE KEY UPDATE in Zend Framework 1.5?

Ho lavorato per Zend e in particolare per Zend_Db un bel po'.

No, non c'è supporto API per ON DUPLICATE KEY UPDATE sintassi. In questo caso, devi semplicemente usare query() e forma tu stesso l'istruzione SQL completa.

Non consiglio di interpolare i valori nell'SQL come mostra harvejs. Usa parametri di ricerca.

Modifica:puoi evitare di ripetere i parametri utilizzando VALUES() espressioni.

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