Google中有很多与错误1054相关的结果,但是我找不到我的情况(使用当前值进行更新并添加一些数字):
UPDATE table
SET int_column=(int_column+1)
WHERE id > 100
确切的错误是:
错误代码:1054“字段列表”中的未知列“1”
我认为这可能与MySQL中的某些错误或缺少功能有关?因为在我的本地MySQL中查询运行没有问题,但是我在服务器中收到该错误。
编辑:+1正在工作!不起作用的是+1296000!但是,如果我键入它可以使用的数字,那么在使用“粘贴”(CTRL + V)时它将不起作用,可能是粘贴了一些不可见的怪异字符,我不知道,我正在使用SQLYog
答案 0 :(得分:1)
我认为您只会在使用以下命令时收到此错误:
UPDATE t
SET int_column = (int_column +`1`)
WHERE id > 100;
反引号将强制将常量解释为列名。仅在必要时使用反引号转义标识符。然后再也不给列或表指定需要转义的名称,因此您再也不必转义它们的名称。
答案 1 :(得分:0)
问题出在SQLYog中的CTRL + V,我粘贴了一个数字,也许是一个不可见的字符或类似的东西(但我看不到任何多余的空格等)。
输入数字而不是使用CTRL + V可以解决这个愚蠢的问题