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

Bagaimana cara mengetahui jika permintaan UPDATE MySQL gagal karena informasi yang diberikan cocok dengan data yang sudah ada di database?

Alasan lain Anda mendapatkan 0 baris yang terpengaruh adalah jika UPDATE pernyataan tidak cocok dengan baris. Misalnya:

UPDATE MyTable SET field = 'content' WHERE id = 1234;

Memberikan 0 baris yang terpengaruh jika tidak ada baris dengan id = 1234 . Ini juga bukan kesalahan, ini hanya UPDATE yang kebetulan tidak cocok dengan baris.

Cara mendeteksi kasus ini adalah dengan menggunakan SELECT untuk memverifikasi bahwa ada baris seperti itu. Jika Anda dapat mengonfirmasi bahwa baris tersebut ada, tetapi UPDATE mengatakan itu mempengaruhi 0 baris, maka Anda tahu bahwa nilai yang Anda coba ubah sebenarnya adalah baris yang sudah ada di database.

SELECT COUNT(*) FROM MyTable WHERE id = 1234;

Tetapi perbedaan itu mungkin tidak penting. Anda dapat melaporkan kesalahan jika mysql_error() mengatakan ada satu, seperti yang disarankan @BoltClock.*Jika tidak ada kesalahan, Anda bisa melaporkan "tidak ada perubahan" kepada pengguna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. kesalahan terus muncul di kode saya (koneksi sudah terbuka)

  2. Bekerja dengan Kolom MySQL TIMESTAMP di SQL Server

  3. bagaimana cara query banyak-ke-banyak?

  4. Cara mendapatkan yang setara dengan ResultSetMetaData tanpa ResultSet

  5. Bagaimana cara membulatkan ke bilangan bulat terdekat di MySQL?