MySQL创建member表失败

最近在做一个项目,在台式机上可以跑通,也测试了各个已完成的接口,提交到了GitHub后想着用宿舍的电脑跑一下,在测试member表相关接口时就出错了。报了SQL语法错误,但SQL语句很简单,就根据手机号查询不至于出错,最大可能就是环境不一致出错了,但我用到数据库版本都是8.0的,差别并不大,好像不至于出错。我用出错的SQL语句到MySQL命令窗口下执行了一次:

select * from member;

这句简简单单的SQL语句居然报错了,只能去寻求GPT的帮忙。他提示加member可能是关键字,需要加上反引号:

select * from `member`;

加了反引号后查询成功了,但是member这个词用得很频繁,作为保留关键字感觉不太可能,并且在我的台式机上可以不加反引号,我只能继续排查错误,毕竟我不想改已经写好的代码,改了后台式机上运行可能又会报错。

通过上面的排查其实只能去看下member到底是不是个保留关键字?

MEMBER; added in 8.0.17 (reserved); became nonreserved in 8.0.19

 原来在8.0.17中member确实被作为一个关键字,但是在8.0.19中已经被废除了。而我的笔记本MySQL环境确实是8.0.17

 所以只能升级下数据库了或者修改表名为t_member。

最好的方式就是数据库建表时都使用t_作为前缀,因为有很多平时需要使用的名称可能是数据库的关键字,例如member、order。出现这种错误在异常排错时又非常麻烦。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值