U heeft geen offertes nodig.
UPDATE my_table SET my_field = my_field - 1 WHERE `other` = '123'
Om te begrijpen, het is als een klassieke aanstellerij in alle talen:"Ik wil my_field gelijk zijn aan my_field (de huidige waarde) min 1 .
Als je aanhalingstekens plaatst, betekent dit "Ik wil my_field gelijk zijn aan de string:
'my_field-1'(voor je eerste vraag)'my_field' - 1(wat niets betekent, althans voor mij:wat is het resultaat van een string minus een geheel getal?)'-1', die wordt geconverteerd naar -1 als uw veld het ondertekende INTEGER-type heeft.
In sommige gevallen (als u spaties of speciale tekens heeft als uw veldnaam), kunt u de veldnaam omgeven met `backticks`:
UPDATE my_table SET `my_field` = `my_field` - 1 WHERE other = '123'