条件
1.数据库8.0(不可以更改版本到5.7)。
2.有个jar没有源码(或者说非常难要到)
3.其中有个表的字段为rank(mysql8的关键字)
问题现象
含有rank表,在执行inster select时直接报错。
mysql8的rank关键字引发的问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
一直免费一直爽 2024-08-15 19:24关注以下回复参考:皆我百晓生、券券喵儿等免费微信小程序作答:
MySQL 8.0中,RANK()是一个窗口函数,用于为结果集中的每一行分配一个唯一的排名。如果你的表名或字段名恰好是"rank",那么在执行查询时可能会遇到问题,因为MySQL会将其视为关键字而不是普通的标识符。
为了解决这个问题,你可以在SQL语句中使用反引号(`)将表名和字段名括起来,这样MySQL就会将它们视为普通的标识符,而不是关键字。例如:
INSERT INTO `rank` (column1, column2) SELECT column1, column2 FROM `your_table`;或者
SELECT `rank`, column1, column2 FROM `your_table`;请确保将上述示例中的
column1、column2和your_table替换为你的实际表名和列名。解决 无用评论 打赏 举报