我试图在自定义行中添加+1。例如:
UPDATE `users` SET `MVP` = `MVP` + 1 WHERE `steam_id` = `%s`;
但没有。怎么了?我认为语法看起来不错。
答案 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,则不使用任何东西。如果是字符串,请使用单引号或双引号。而且你不需要在其他任何地方使用任何东西,但如果你愿意这样做,你可以。