Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更新字段以向现有值添加值?_Php_Mysql_Sql - Fatal编程技术网

Php 如何更新字段以向现有值添加值?

Php 如何更新字段以向现有值添加值?,php,mysql,sql,Php,Mysql,Sql,如何更新字段以向现有值添加值? 比如我有 表格名称:表格 id credit 1 4 2 5 3 3 有没有一种方法可以简单地增加信用卡的价值? 像 我想将7添加到4,以便积分=11,其中id='1' 如何做到这一点?这只是一个简单的更新。尝试以下方法 UPDATE tableName SET Credit = Credit + 7 WHERE ID = 1 请注意,ID=1和ID='1'与服务器自动解析相同。只需在UPDATE语句中使用credit=cre

如何更新字段以向现有值添加值?
比如我有

表格名称:
表格

id   credit
1      4
2      5
3      3
有没有一种方法可以简单地增加信用卡的价值?

我想将7添加到4,以便积分=11,其中id='1'

如何做到这一点?

这只是一个简单的
更新。尝试以下方法

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

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

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

UPDATE tablename SET credit = credit + 7 WHERE id = 1
试试这个代码

UPDATE table SET credit = credit + 7 WHERE id='1' 
试试这个

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

“+”是一个操作符,所以你需要提供它需要的参数。 “+”运算符是一个二进制运算符,因此我们需要为其提供两个参数 用语法

 value1+value2
尽管它可能需要许多数据类型的参数 通过写入“+7”,您只发送一个字符串值“+7”,以替换以前的值

所以你最好使用

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

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

我想添加一个“重复密钥更新”示例(基于@hims056的答案)。我找到了这个答案,但需要“在DUP上…”,所以我想不妨把它贴在这里

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

1
放在ID=1的单引号中,比如
ID='1'
,这样如果没有定义ID值,查询就不会抛出错误,这不是一个好主意吗?服务器会自动解析该值:d您接受的答案和我的有什么区别?
UPDATE table SET credit = '+7' WHERE id='1'
INSERT INTO table1 
(`id`, `credit`)
VALUES (1, 4)
ON DUPLICATE KEY UPDATE
`credit` = `credit` + 7;