2012-10-05 60 views
15

如何更新字段以將值添加到現有值?
比如我有如何更新字段以將值添加到現有值?

表名:table

id credit 
1  4 
2  5 
3  3 

有沒有辦法簡單地增加價值的信用?

UPDATE table SET credit = '+7' WHERE id='1' 

我想補充7比4,這樣的信用= 11其中id = '1'
如何做到這一點?

+3

什麼比我的你接受的答案有什麼區別? –

回答

37
UPDATE table SET credit = credit + 7 WHERE id = 1 
+0

嘿嘿...我從來沒有想過這個。 :D – gumuruh

15

這只是一個簡單的UPDATE。嘗試以下操作。

UPDATE tableName 
SET Credit = Credit + 7 
WHERE ID = 1 

注意ID = 1ID = '1'是一樣的服務器會自動對其進行解析。

+0

不是一個好主意,在ID = 1單引號'1',如ID ='1'',這樣一個查詢不會拋出一個錯誤,如果沒有定義的ID值沒有定義? – WatsMyName

+1

服務器自動分析該值:D –

10

只需使用credit = credit + 7代替credit = '+7'UPDATE聲明

UPDATE tablename SET credit = credit + 7 WHERE id = 1 

See this SQLFiddle

7

試試這個代碼

UPDATE table SET credit = credit + 7 WHERE id='1' 
3

就試試這個...

UPDATE table SET credit = credit + 7 WHERE id = 1 
1

well'+'是一個操作符,因此您需要提供它所需的參數。 「+」操作符是一個二元運算因此,我們需要提供兩個參數,它與 語法

value1+value2 

雖然它可以通過寫「+7」你只發送需要很多數據類型 的參數字符串值「+7」代替以前的值

,這樣你們更好地利用

UPDATE table SET credit = '+7' WHERE id='1' 

不要混淆「+」與其他運營商的增量

運營商
1

我想通過'ON DUPLICATE KEY UPDATE'示例(基於@ hims056的答案)添加到此處。我找到了這個答案,但需要'ON DUP ...',所以我想不妨將它發佈在這裏。

INSERT INTO table1 
(`id`, `credit`) 
VALUES (1, 4) 
ON DUPLICATE KEY UPDATE 
`credit` = `credit` + 7; 

See the SQL Fiddle here

+1

感謝您的帖子。你救了我的一天! – Razvi