Saya bekerja untuk Zend dan secara khusus mengerjakan Zend_Db sedikit.
Tidak, tidak ada dukungan API untuk ON DUPLICATE KEY UPDATE
sintaksis. Untuk kasus ini, Anda cukup menggunakan query()
dan bentuk sendiri pernyataan SQL lengkapnya.
Saya tidak merekomendasikan interpolasi nilai ke dalam SQL seperti yang ditunjukkan harvejs. Gunakan parameter kueri.
Sunting:Anda dapat menghindari pengulangan parameter dengan menggunakan VALUES()
ekspresi.
$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");