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

Er der en måde at lave en INSERT...ON DUPLICATE KEY UPDATE i Zend Framework 1.5?

Jeg arbejdede for Zend og arbejdede specifikt på Zend_Db en del.

Nej, der er ingen API-understøttelse for ON DUPLICATE KEY UPDATE syntaks. I dette tilfælde skal du blot bruge query() og form selv den komplette SQL-sætning.

Jeg anbefaler ikke at interpolere værdier i SQL'en, som harvejs viser. Brug forespørgselsparametre.

Rediger:Du kan undgå at gentage parametrene ved at bruge VALUES() udtryk.

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


  1. Skift sprog for MySQL-fejlmeddelelser

  2. Bestilt antal på hinanden følgende gentagelser / dubletter

  3. Oprettelse af en SQL Server-tabel fra en C#-datatabel

  4. Føj en databasepostkonto til en profil (SSMS)