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

原因:user是T-SQL语句中的关键字(详细见下面的扩展表)
在这里插入图片描述
解决办法:给user加上中括号[ ],即[user]。编译成功!
在这里插入图片描述
但发果不经意用到一些关键字,尤其是像user、 work 等等,所以在碰到上面的 错误提示信息后,就要联想到这些,不妨试着添加 [ ],问题就迎刃而解了。
如果担心出现这类问题 可以提前将需查询的所有表名都添加 [ ]。

下面这此词都是T-SQL语句中的关键字,在写SQL语句,存储过程,触发器或字段命名等时要避免使用这些词。

ADDEXITPRIMARY
ALLFETCHPRINT
ALTERFILEPRIVILEGES
ANDFILLFACTORPROC
ANYFLOPPYPROCEDURE
ASFORPROCESSEXIT
ASCFOREIGNPUBLIC
AUTHORIZATIONFREETEXTRAISERROR
AVGFREETEXTTABLEREAD
BACKUPFROMREADTEXT
BEGINFULLRECONFIGURE
BETWEENGOTOREFERENCES
BREAKGRANTREPEATABLE
BROWSEGROUPREPLICATION
BULKHAVINGRESTORE
BYHOLDLOCKRESTRICT
CASCADEIDENTITYRETURN
CASEIDENTITY_INSERTREVOKE
CHECKIDENTITYCOLRIGHT
CHECKPOINTIFROLLBACK
CLOSEINROWCOUNT
CLUSTEREDINDEXROWGUIDCOL
COALESCEINNERRULE
COLUMNINSERTSAVE
COMMITINTERSECTSCHEMA
COMMITTEDINTOSELECT
COMPUTEISSERIALIZABLE
CONFIRMISOLATIONSESSION_USER
CONSTRAINTJOINSET
CONTAINSKEYSETUSER
CONTAINSTABLEKILLSHUTDOWN
CONTINUELEFTSOME
CONTROLROWLEVELSTATISTICS
CONVERTLIKESUM
COUNTLINENOSYSTEM_USER
CREATELOADTABLE
CROSSMAXTAPE
CURRENTMINTEMP
CURRENT_DATEMIRROREXITTEMPORARY
CURRENT_TIMENATIONALTEXTSIZE
CURRENT_TIMESTAMPNOCHECKTHEN
CURRENT_USERNONCLUSTEREDTO
CURSORNOTTOP
DATABASENULLTRAN
DBCCNULLIFTRANSACTION
DEALLOCATEOFTRIGGER
DECLAREOFFTRUNCATE
DEFAULTOFFSETSTSEQUAL
DELETEONUNCOMMITTED
DENYONCEUNION
DESCONLYUNIQUE
DISKOPENUPDATE
DISTINCTOPENDATASOURCEUPDATETEXT
DISTRIBUTEDOPENQUERYUSE
DOUBLEOPENROWSETUSER
DROPOPTIONVALUES
DUMMYORVARYING
DUMPORDERVIEW
ELSEOUTERWAITFOR
ENDOVERWHEN
ERRLVLPERCENTWHERE
ERROREXITPERMWHILE
ESCAPEPERMANENTWITH
EXCEPTPIPEWORK
EXECPLANWRITETEXT
EXECUTEPRECISION
EXISTSPREPARE

版权声明:本文为weixin_44943631原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。