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

Как да разбера дали заявка за MySQL UPDATE е неуспешна, защото предоставената информация съвпада с данни, които вече са в базата данни?

Друга причина да получите 0 засегнати реда е, ако UPDATE изявление не съответства на редове. Например:

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

Дава 0 засегнати реда, ако не съществува ред с id = 1234 . Това също не е грешка, а просто UPDATE това не съответства на редове.

Начинът за откриване на този случай е да използвате SELECT за да проверите дали има такъв ред. Ако можете да потвърдите, че редът съществува, но UPDATE каза, че засяга 0 реда, тогава знаете, че стойностите, които сте се опитали да промените, всъщност са редовете, които вече са в базата данни.

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

Но разликата може да не е важна. Можете да съобщите за грешка, ако mysql_error() казва, че има такава, както предполага @BoltClock.*Ако няма грешка, можете просто да докладвате „без промяна“ на потребителя.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да копирате таблица от една mysql база данни в друга mysql база данни

  2. MySQL, Вземете потребителски ранг

  3. Вижте дали lat/long попада в полигон, като използвате mysql

  4. Грешка при добавяне на външен ключ

  5. Инсталирайте mysql-python (Windows)