Anda tidak perlu kutipan apa pun.
UPDATE my_table SET my_field = my_field - 1 WHERE `other` = '123'
Untuk memahami, ini seperti kepura-puraan klasik dalam bahasa apa pun:"Saya ingin my_field
sama dengan my_field
(nilai saat ini) dikurangi 1
.
Jika Anda memberi tanda kutip, artinya "Saya ingin my_field
sama dengan string:
'my_field-1'
(untuk kueri pertama Anda)'my_field' - 1
(yang tidak berarti apa-apa, setidaknya bagi saya:apa hasil dari string dikurangi bilangan bulat?)'-1'
, yang akan dikonversi menjadi -1 jika bidang Anda memiliki jenis bertanda INTEGER.
Dalam beberapa kasus (jika Anda memiliki spasi atau karakter khusus jika nama bidang Anda), Anda dapat mengapit nama bidang dengan `backticks`:
UPDATE my_table SET `my_field` = `my_field` - 1 WHERE other = '123'