sql >> Databasteknik >  >> RDS >> Mysql

Finns det något sätt att göra en INSERT...ON DUPLICATE KEY UPDATE i Zend Framework 1.5?

Jag arbetade för Zend och arbetade specifikt med Zend_Db en hel del.

Nej, det finns inget API-stöd för ON DUPLICATE KEY UPDATE syntax. I det här fallet måste du helt enkelt använda query() och bilda den fullständiga SQL-satsen själv.

Jag rekommenderar inte att interpolera värden i SQL som harvejs visar. Använd frågeparametrar.

Redigera:Du kan undvika att upprepa parametrarna genom att använda VALUES() uttryck.

$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. Korrekt metod för att ta bort över 2100 rader (med ID) med Dapper

  2. php kör en gång och infoga två gånger i mysql-databasen

  3. Fördelar med att lära sig nya DB-system

  4. Anropar lagrad procedur i kodantändare