如何更新字段以增加现有值的值?

时间:2012-10-05 08:57:17

标签: php mysql sql

如何更新字段以将值添加到现有值?
例如,我有

表名:table

id   credit
1      4
2      5
3      3

有没有办法简单地为信用增加价值?

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

我想添加7到4,以便信用= 11,其中id ='1'
怎么做?

7 个答案:

答案 0 :(得分:54)

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

答案 1 :(得分:16)

这只是一个简单的UPDATE。请尝试以下方法。

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

请注意ID = 1ID = '1'与服务器自动解析它相同。

答案 2 :(得分:11)

credit = credit + 7声明

中使用credit = '+7'代替UPDATE
UPDATE tablename SET credit = credit + 7 WHERE id = 1

See this SQLFiddle

答案 3 :(得分:7)

试试此代码

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

答案 4 :(得分:3)

试试这个......

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

答案 5 :(得分:1)

好'+'是一个运算符,所以你需要提供它所需的参数。 '+'运算符是二元运算符,因此我们需要为它提供两个参数 语法

 value1+value2

虽然它可能需要许多数据类型的参数 通过写'+7',你只发送一个字符串值“+7”代替你以前的值

所以你最好使用

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

不要将'+'运算符与其他增量运算符混淆

答案 6 :(得分: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