引用符は必要ありません。
UPDATE my_table SET my_field = my_field - 1 WHERE `other` = '123'
理解するために、それはあらゆる言語の古典的な愛情のようなものです:「私はmy_field
が欲しい my_field
と等しい (現在の値)マイナス1
。
引用符を付けると、「my_field
が欲しい」という意味になります 文字列と等しい:
-
'my_field-1'
(最初のクエリの場合) -
'my_field' - 1
(これは、少なくとも私にとっては何の意味もありません。文字列から整数を引いた結果はどうなりますか?) -
'-1'
、フィールドがINTEGER符号付きタイプの場合、-1に変換されます。
場合によっては(フィールド名にスペースや特殊文字がある場合)、フィールド名を `backticks`で囲むことができます:
UPDATE my_table SET `my_field` = `my_field` - 1 WHERE other = '123'