我想將欄位(整數或下拉清單)中包含的值減 1。我嘗試了這 3 個查詢,但沒有一個可以按預期工作:
UPDATE `my_table` SET `my_field` = 'my_field-1' WHERE `other` = '123' UPDATE `my_table` SET `my_field` = 'my_field' -1 WHERE `other` = '123' UPDATE `my_table` SET `my_field` = '-1' WHERE `other` = '123'
我在此處和 Google 上進行了搜索,但找到的所有解決方案都是相似的。知道為什麼這在我這邊不起作用嗎?
嘗試從列名稱中刪除單引號,否則它將被視為字串「my_field-1」或在列名稱周圍使用反引號
或
您不需要任何引號。
要理解,這就像任何語言中的經典情緒:「我希望
my_field
等於my_field
(當前值)減去1
” >.如果加引號,則表示「我希望
my_field
等於字串:'my_field-1'
(用於您的第一個查詢)'my_field' - 1
(這沒有任何意義,至少對我來說:字串減去整數的結果是多少?)'-1'
,如果您的欄位具有 INTEGER 符號類型,則該值將轉換為 -1。在某些情況下(如果您的欄位名稱中有空格或特殊字元),您可以用「反引號」包圍欄位名稱:
方法事關重大實發工資***嘎灑***給