最近在做一个项目,在台式机上可以跑通,也测试了各个已完成的接口,提交到了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
所以只能升级下数据库了。