sql >> Databáze >  >> RDS >> Mysql

Neplatné číslo parametru, PDO při duplicitní aktualizaci se nezdaří

@CertaiN zmiňuje, s skutečným připravuje, neemulované, nemůžete svázat stejnou proměnnou vícekrát pod stejným názvem. Můžete se rozhodnout pro spojení s jiným názvem, ale tento dotaz to nepotřebuje. VALUES() funkce vrátí hodnotu, která by byla vložena , což by znamenalo tento dotaz:

    $sql = 'INSERT INTO users_meta
         (user_id,meta_key,meta_value)
       VALUES (:user_id,:meta_key,:meta_value)
       ON DUPLICATE KEY
       UPDATE meta_value = VALUES(meta_value)';

A v případě potřeby lze použít pro více sloupců, například:

    $sql = 'INSERT INTO users_meta
         (user_id,meta_key,meta_value)
       VALUES (:user_id,:meta_key,:meta_value)
       ON DUPLICATE KEY
       UPDATE 
         meta_value = VALUES(meta_value),
         meta_key = VALUES(meta_key)';


  1. získání syntaktické chyby při vytváření funkce

  2. Architektura a ladění paměti v PostgreSQL databázích

  3. Vyberte tři nejlepší hodnoty v každé skupině

  4. Vrací hodnotu, i když žádný výsledek