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

Mysql заявка:намалете стойността с 1

Нямате нужда от никакви цитати.

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

За да разберете, това е като класическа аффектация на всякакви езици:„Искам my_field е равно на my_field (текущата стойност) минус 1 .
Ако поставите кавички, това означава „Искам my_field е равно на низа:

  1. 'my_field-1' (за първата ви заявка)
  2. 'my_field' - 1 (което не означава нищо, поне за мен:какъв е резултатът от низ минус цяло число?)
  3. '-1' , което ще бъде преобразувано в -1, ако полето ви има подписан тип INTEGER.

В някои случаи (ако имате интервали или специални знаци, ако името на полето ви), можете да заобиколите името на полето с `backticks`:

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. Изброяване на редове в mysql въз основа на групи

  2. Как да получите стойности за всеки ден от един месец

  3. MySQL:актуализиране без промяна на данните, възможно ли е?

  4. mysql concat функция

  5. Низ за времева марка в MySQL