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

mysql membuat baris baru alih-alih memperbarui yang sudah ada

Anda dapat langsung UPDATE jika nilainya sudah ada atau INSERT jika tidak ada dengan menggunakan INSERT...ON DUPLICATE KEY UPDATE

Tetapi pertama-tama Anda perlu menentukan kolom unik,

ALTER TABLE user_account ADD CONSTRAINT tb_uq UNIQUE (id_user)

jika kolom ID_USER sudah menjadi kunci utama lalu lewati metode pertama. Setelah diimplementasikan, Anda sekarang dapat menggunakan sintaks berikut

INSERT INTO user_account (id_user, bio) 
VALUES($id, '$bio')
ON DUPLICATE KEY UPDATE bio = '$bio';

Sebagai catatan tambahan, kueri rentan dengan SQL Injection jika nilainya(s ) dari variabel tersebut berasal dari luar. Silakan lihat artikel di bawah ini untuk mempelajari cara mencegahnya. Dengan menggunakan PreparedStatements Anda dapat menghilangkan penggunaan tanda kutip tunggal di sekitar nilai.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pengembangan Rails - Tidak dapat terhubung ke server MySQL di 'localhost' (10061)

  2. Ingin menyimpan Obyek di database MySQL

  3. Apakah menggunakan LIMIT 1 mempercepat kueri pada kunci utama?

  4. MBR Dalam tidak akurat di mysql

  5. Bisakah pembuatan indeks menggunakan indeks yang ada?