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

Posted

技术标签:

【中文标题】如何更新字段以将值添加到现有值?【英文标题】:How to update field to add value to existing value? 【发布时间】:2012-09-26 09:50:09 【问题描述】:

例如我有

表名:table

id   credit
1      4
2      5
3      3

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

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

我想将 7 添加到 4,以便 credit=11 where id='1' 如何做到这一点?

【问题讨论】:

你接受的答案和我的有什么区别? 【参考方案1】:

UPDATE 语句中只需使用credit = credit + 7 而不是credit = '+7'

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

See this SQLFiddle

【讨论】:

【参考方案2】:

我想添加一个“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

【讨论】:

【参考方案3】:

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

 value1+value2

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

所以你最好使用

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

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

【讨论】:

【参考方案4】:

这只是一个简单的UPDATE。请尝试以下操作。

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

注意ID = 1ID = '1'是一样的,服务器会自动解析。

【讨论】:

1 放在ID=1 中并用ID='1' 等单引号括起来不是一个好主意,这样如果ID 值未定义,查询就不会引发错误? 服务器自动解析该值:D【参考方案5】:

试试这个……

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

【讨论】:

【参考方案6】:
UPDATE table SET credit = credit + 7 WHERE id = 1

【讨论】:

【参考方案7】:

试试这个代码

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

【讨论】:

以上是关于如何更新字段以将值添加到现有值?的主要内容,如果未能解决你的问题,请参考以下文章

如何在文本字段之后显示一个图标作为“帮助”以将值输入文本字段

如何自动将值添加到 Laravel 中的现有值

如何查询行中是不是存在值将值添加到另一个字段?

如何以编程方式将值保存到 JIRA 中的自定义字段中?

如何获得正确的范围以将值设置为单元格?

如何获得正确的范围以将值设置为单元格?