sql >> Database >  >> RDS >> Mysql

Waarom is MySQL-retour altijd 1 in C#-code, maar niet wanneer ik test in de opgeslagen procedure?

Tenzij u de UseAffectedRows . heeft ingesteld verbindingsreeksoptie, deze is standaard false . Dit betekent :

Bovendien, uit de documentatie van de ROW_COUNT functie :

Dus de UPDATE user instructie in uw opgeslagen procedure retourneert het aantal rijen dat door de zoekopdracht is gevonden, niet het aantal dat daadwerkelijk is bijgewerkt.

Om dit op te lossen, ofwel:

  1. Stel UseAffectedRows=true; in uw verbindingsreeks; dit kan leiden tot wijzigingen in andere UPDATE vragen.
  2. Voeg meer voorwaarden toe aan de WHERE clausule, bijv. WHERE ... AND SELLER_IMAGE_ID != SellerImageID AND SELLER_BUSINESS_LOGO_ID != BusinessImageID , om ervoor te zorgen dat de rij alleen wordt gevonden en bijgewerkt als deze echt moet worden gewijzigd.



  1. Python Matplotlib en MySQL en Ginput

  2. 12c Gegevensbestanden online verplaatsen

  3. Kan geen verbinding maken met MySQL vanuit Java:NullPointerException in verbindingslogica van MySQL-stuurprogramma

  4. Hoe SQLite Max() werkt