2012-10-05 62 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