Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Nomor parameter tidak valid, PDO pada pembaruan duplikat gagal

Sebutan @CertaiN, dengan asli mempersiapkan, yang tidak ditiru, Anda tidak dapat mengikat variabel yang sama beberapa kali dengan nama yang sama. Anda dapat memilih untuk mengikatnya dengan nama lain, tetapi kueri ini tidak memerlukannya. VALUES() fungsi mengembalikan nilai yang akan dimasukkan , yang akan membuat kueri ini:

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

Dan dapat digunakan untuk lebih banyak kolom jika diperlukan, seperti:

    $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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pilih mySQL hanya berdasarkan bulan dan tahun

  2. Database SQL untuk anggota keluarga terkait

  3. koneksi database dinamis symfony2 menggunakan doktrin

  4. Token Firebase FCM - Kapan harus mengirim ke server?

  5. JDBC mengembalikan jumlah baris yang terpengaruh yang salah