Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/c15158032319/article/details/86489078

在创建mybatis plus的项目中使用了sqlserver数据库,我在运行demo的时候出现以下错误:

org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误。
### The error may exist in com/xingda/mapper/UserMapper.java (best guess)
### The error may involve defaultParameterMap
### The error occurred while setting parameters
### SQL: SELECT  id,name,age,email  FROM user
### Cause: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误。
; bad SQL grammar []; nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'user' 附近有语法错误。

user表结构如下
在这里插入图片描述
SELECT id,name,age,email FROM user 这条sql在mysql数据库运行正常,但是在sqlserver中就出现异常,于是我将这条sql改成SELECT id,name,age,email FROM [user] 后就能成功了,但是这显然不能兼容其它类型数据库,而且框架也不支持这种写法啊,于是想到user是不是具有特殊性,于是将user改为user1,果然成功查询了。
总而言之,user在sqlserver中是作为一个关键字存在了,为了保障代码可移植性,还是避免使用它把。
官方文档链接:
https://msdn.microsoft.com/zh-cn/library/ms173463.aspx

猜你喜欢

转载自blog.csdn.net/c15158032319/article/details/86489078