2014-12-22 88 views
1

我想用這種方式在MySQL中爲現有值添加一些額度,但它不適用於我,而是將所有值更改爲零。使用MySQL的SQL UPDATE查詢中的數學運算

UPDATE `fares` 
SET `fare`='`fare` + 70' 
WHERE `season_start`='2015-08-22' 
    AND `season_end`='2015-12-09' 
    AND `ticket_class`='Y/Y' 
    AND `fare_type`='return' 
    AND `deptsub_code`='LHR' 
    AND `dest_code`='ASM' 

我想爲所有值添加70。我的列類型是smallint(5)

請用其他方式建議或讓我知道錯誤在哪裏?

+1

你正在使用單引號,你不應該有它們(在'set'中)。我正在投票結束,因爲這是一個簡單的印刷錯誤。 –

+0

'SET fare = fare + 70'刪除引號。投票結束了一個簡單的印刷錯誤 –

回答

2

嘗試在SET表達除去撇號即

UPDATE `fares` SET `fare`=`fare` + 70 

而不是

UPDATE `fares` SET `fare`='`fare` + 70' 
0
UPDATE `fares` SET `fare`=`fare` + 70 WHERE `season_start`='2015-08-22' AND `season_end`='2015-12-09' AND `ticket_class`='Y/Y' AND `fare_type`='return' AND `deptsub_code`='LHR' AND `dest_code`='ASM' 
0

我只是這樣做的話它和它的工作對我來說:

UPDATE `fares` SET `fare`=(`fare` + 70) WHERE `season_start`='2015-08-22' AND `season_end`='2015-12-09' AND `ticket_class`='Y/Y' AND `fare_type`='return' AND `deptsub_code`='LHR' 

無論如何Tha nks