为了账号安全,请及时绑定邮箱和手机立即绑定

可以使用数字来命名MySQL表列吗​​?

可以使用数字来命名MySQL表列吗​​?

GCT1015 2019-11-20 10:51:39
我有一个表,其列名称如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'


查看完整回答
反对 回复 2019-11-20
?
一只萌萌小番薯

TA贡献1795条经验 获得超7个赞

正如其他人所说,你可以背打勾的名称表,列等。只要确保你不回来打勾你的价值观,否则它就会将其解释为列名。因此,在您的示例中,仅需要对25进行打勾:


UPDATE table SET `25`=100 WHERE id=1


查看完整回答
反对 回复 2019-11-20
?
皈依舞

TA贡献1851条经验 获得超3个赞

在MySQL名称可以开始以一个数字,而不能是完全的数字-他们不能混淆使用整数。所以不行。


而且,如果您以数字开头的标识符,则应该确定您坚持使用MySQL,因为许多(大多数?)其他数据库引擎在列名的开头都需要一个字母字符。


(正如评论所说,完全整列名时,如果你坚持使用倒引号字符允许的-如果你试图反引号,仍然得到了一个语法错误,张贴您使用的精确反引号语法)。


另外,当然,如果选择整数列,您将产生一些难以阅读的SQL!


查看完整回答
反对 回复 2019-11-20
  • 3 回答
  • 0 关注
  • 2775 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信