SQL行更新+1

时间:2018-06-15 08:36:50

标签: php mysql insert

我试图在自定义行中添加+1。例如:

UPDATE `users` SET `MVP` = `MVP` + 1 WHERE `steam_id` = `%s`;

但没有。怎么了?我认为语法看起来不错。

3 个答案:

答案 0 :(得分:1)

%s是一个值,所以删除`

除非您使用某些“不吉利的”列名

,否则通常可以省略它
UPDATE `users` SET `MVP` = `MVP` + 1 WHERE `steam_id` = %s;

答案 1 :(得分:0)

采取'远离MVP你正在增加。

UPDATE `users` SET `MVP` = MVP+1 WHERE `steam_id` = `%s`;

答案 2 :(得分:0)

发布剪切的整个代码。真的不能帮你这样。什么是steam_id?什么是%s。什么时候用实际值替换它?你也应该只使用预备语句而不是DYI。 %s不是它们在PDO或MYSQLI中的样子,但肯定看起来像是字符串的占位符。

您还将此标记为插入,但您正在进行更新。

那些``是不必要的,从未将它们用于列/表名,但似乎至少在mysql控制台中起作用。

sql snipped看起来是正确的,假设MPV是数字且id是字符串/ varchar并且等于%s,或者你用某些东西替换它。

编辑:正如有人说%s是问题,如果它是int,则不使用任何东西。如果是字符串,请使用单引号或双引号。而且你不需要在其他任何地方使用任何东西,但如果你愿意这样做,你可以。