Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо връщането на MySQL винаги е 1 в кода на C#, но не и когато тествам в съхранена процедура?

Освен ако не сте задали UseAffectedRows опция низ за свързване, по подразбиране е false . Това означава :

Освен това от документацията на ROW_COUNT функция :

По този начин UPDATE user оператор във вашата съхранена процедура ще върне броя на редовете, които са открити от заявката, а не броя, който действително е бил актуализиран.

За да коригирате това, или:

  1. Задайте UseAffectedRows=true; във вашия низ за връзка; това може да причини промени в други UPDATE запитвания.
  2. Добавете още условия към WHERE клауза, напр. WHERE ... AND SELLER_IMAGE_ID != SellerImageID AND SELLER_BUSINESS_LOGO_ID != BusinessImageID , за да се уверите, че редът е намерен и актуализиран само ако действително трябва да се промени.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP Добавяне на резултат от база данни към многоизмерен масив

  2. Не мога да използвам псевдоним в sql delete

  3. Фатална грешка:Извикване на член на функция query() на null

  4. Условие WHERE в MySQL с 16 различни примера за заявка

  5. MySQL INSERT TO WHERE НЕ СЪЩЕСТВУВА