sql >> Databáze >  >> RDS >> Mysql

Proč je návrat MySQL vždy 1 v kódu C#, ale ne, když testuji v uložené proceduře?

Pokud jste nenastavili UseAffectedRows připojovací řetězec, výchozí je false . To znamená :

Navíc z dokumentace ROW_COUNT funkce :

Tedy UPDATE user příkaz ve vaší uložené proceduře vrátí počet řádků, které byly nalezeny dotazem, nikoli počet, které byly skutečně aktualizovány.

Chcete-li to opravit, buď:

  1. Nastavte UseAffectedRows=true; ve vašem připojovacím řetězci; to může způsobit změny jiných UPDATE dotazy.
  2. Do pole WHERE přidejte další podmínky klauzule, např. WHERE ... AND SELLER_IMAGE_ID != SellerImageID AND SELLER_BUSINESS_LOGO_ID != BusinessImageID , abyste se ujistili, že řádek bude nalezen a aktualizován pouze v případě, že skutečně potřebuje změnu.



  1. Chyba MySQL:Mimo rozsah pro sloupec „částka“ na řádku 1

  2. zobrazit název měsíce místo čísla měsíce v mysql

  3. Připojení k MySQL na vzdáleném serveru z pythonu

  4. Použití FORCE INDEX se Zend