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

Mengapa pengembalian MySQL selalu 1 dalam kode C # tetapi tidak ketika saya menguji dalam prosedur tersimpan?

Kecuali Anda telah menyetel UseAffectedRows opsi string koneksi, defaultnya adalah false . Artinya :

Selain itu, dari dokumentasi ROW_COUNT fungsi :

Jadi, UPDATE user pernyataan dalam prosedur tersimpan Anda akan mengembalikan jumlah baris yang ditemukan oleh kueri, bukan jumlah yang benar-benar diperbarui.

Untuk memperbaikinya, baik:

  1. Setel UseAffectedRows=true; di string koneksi Anda; ini dapat menyebabkan perubahan pada UPDATE lainnya pertanyaan.
  2. Tambahkan lebih banyak ketentuan ke WHERE klausa, mis., WHERE ... AND SELLER_IMAGE_ID != SellerImageID AND SELLER_BUSINESS_LOGO_ID != BusinessImageID , untuk memastikan baris hanya ditemukan dan diperbarui jika benar-benar perlu diubah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python MySQL lebih cepat

  2. CakePHP meminta garis lintang bujur terdekat dari database

  3. Nama Tabel/Entitas Dinamis dalam Doctrine 2

  4. Bagaimana saya bisa meneruskan array nilai ke prosedur tersimpan saya?

  5. MySQL TIDAK DI dari kolom lain di tabel yang sama