我有一个表,其列名称如25、50、100等。尝试更新表时,无论如何操作,都会出现错误UPDATE table SET '25'='100' WHERE id = '1'我尝试过用各种方式引用和反引号,但没有成功。该错误始终遵循以下方面:您的SQL语法有误;检查与您的MySQL服务器版本相对应的手册以获取正确的语法,以在第1行的“ 25'= 100 WHERE id = 1”附近使用如果我将列名更改为twentyfive-我没有问题,但这不是我想要的。可以使用数字作为列名吗?
3 回答
胡说叔叔
TA贡献1804条经验 获得超8个赞
从文档:
标识符可以以数字开头,但除非加引号,否则不能仅由数字组成。
这意味着您必须用诸如25的反引号将其引用:
UPDATE table SET `25`='100' WHERE id='1'
一只萌萌小番薯
TA贡献1795条经验 获得超7个赞
正如其他人所说,你可以背打勾的名称表,列等。只要确保你不回来打勾你的价值观,否则它就会将其解释为列名。因此,在您的示例中,仅需要对25进行打勾:
UPDATE table SET `25`=100 WHERE id=1
皈依舞
TA贡献1851条经验 获得超3个赞
在MySQL名称可以开始以一个数字,而不能是完全的数字-他们不能混淆使用整数。所以不行。
而且,如果您以数字开头的标识符,则应该确定您坚持使用MySQL,因为许多(大多数?)其他数据库引擎在列名的开头都需要一个字母字符。
(正如评论所说,完全整列名时,如果你坚持使用倒引号字符允许的-如果你试图反引号,仍然得到了一个语法错误,张贴您使用的精确反引号语法)。
另外,当然,如果选择整数列,您将产生一些难以阅读的SQL!
添加回答
举报
0/150
提交
取消