Pracowałem dla Zend i trochę pracowałem nad Zend_Db.
Nie, nie ma obsługi interfejsu API dla ON DUPLICATE KEY UPDATE
składnia. W tym przypadku wystarczy użyć query()
i samodzielnie stwórz pełną instrukcję SQL.
Nie polecam interpolacji wartości do SQL, jak pokazuje harvejs. Użyj parametrów zapytania.
Edycja:możesz uniknąć powtarzania parametrów, używając VALUES()
wyrażenia.
$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");