Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Zapytanie Mysql:zmniejsz wartość o 1

Nie potrzebujesz żadnych cytatów.

UPDATE my_table SET my_field = my_field - 1 WHERE `other` = '123'

Aby zrozumieć, to jak klasyczna afektacja w dowolnym języku:„Chcę my_field jest równy my_field (bieżąca wartość) minus 1 .
Jeśli umieścisz cudzysłów, oznacza to „Chcę my_field jest równy łańcuchowi:

  1. 'my_field-1' (dla twojego pierwszego zapytania)
  2. 'my_field' - 1 (co nic nie znaczy, przynajmniej dla mnie:jaki jest wynik łańcucha minus liczba całkowita?)
  3. '-1' , który zostanie przekonwertowany na -1, jeśli twoje pole ma podpisany typ INTEGER.

W niektórych przypadkach (jeśli masz spacje lub znaki specjalne w nazwie twojego pola), możesz otoczyć nazwę pola 'wsteczami':

UPDATE my_table SET `my_field` = `my_field` - 1 WHERE  other = '123'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Limit czasu opróżniania Debezium i błędy OutOfMemoryError w MySQL

  2. MYSQL:Procedura z instrukcją if

  3. Błąd tworzenia tabeli PHP 1064

  4. Proste wprowadzenie do korzystania z MySQL na terminalu Linux

  5. Dlaczego nosql z cassandra zamiast mysql?