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:
'my_field-1'(dla twojego pierwszego zapytania)'my_field' - 1(co nic nie znaczy, przynajmniej dla mnie:jaki jest wynik łańcucha minus liczba całkowita?)'-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'