解决com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:

1. 报错内容

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where userid='j2ee'' at line 1at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.Util.handleNewInstance(Util.java:425)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.Util.getInstance(Util.java:408)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.SQLError.createSQLException(SQLError.java:943)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3973)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3909)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2527)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2680)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2501)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)at mysql.connector.java@5.1.41-bin/com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1966)at com.a51work6.jpetstore.dao.mysql.AccountDaolmp.findById(AccountDaolmp.java:33)at com.a51work6.jpetstore.ui.LoginFrame.lambda$0(LoginFrame.java:65)at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)at java.desktop/java.awt.Component.processMouseEvent(Component.java:6632)at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)at java.desktop/java.awt.Component.processEvent(Component.java:6397)at java.desktop/java.awt.Container.processEvent(Container.java:2263)at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2762)at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)at java.base/java.security.AccessController.doPrivileged(AccessController.java:389)at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

2. 问题分析

报这个错误时,一般都是自己代码中SQL语句写错了,我的代码如下:

conn=DBHelper.getConnection();String sql="select userid, password,email,name,addr,userid,city,country,phone"     //userid,password,email,name,addr,city,country,phone+"from account where userid=?";pstmt=conn.prepareStatement(sql);pstmt.setString(1, id);rs=pstmt.executeQuery();

它让在where userid='j2ee’附近找错误,我一直以为id有问题,结果最后发现是在进行sql字符串的连接时,中间少加一个空格。

3. 总结
看了别人的博客以及自己犯的错总结遇到这种类型报错时去检查的内容:
1、查看SQL语句的格式是否正确
2、查看SQL语句的所用到的标点符号是否为英文
3、特别注意SQL语句连接时,中间一定要添加空格

解决com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:相关推荐

  1. 已解决idea连接数据库异常:Exception in thread “main“ com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:

    Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You ...

  2. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'rtjhyt' in 'field list'

    今天向数据库中插入语句遇到了这样的异常: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'rtjh ...

  3. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test'

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test' com.mysql.jdbc.ex ...

  4. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Query was empty

    1 错误描写叙述 at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(Invocable ...

  5. Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 't.statis_date'

    1.错误原因 [ERROR:]2015-04-18 13:20:31,883 [异常拦截] com.skycloud.oa.exception.ExceptionHandler org.hiberna ...

  6. mybatis-plus调用自身的 selectById 方法报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You hav

    1.报错信息: 1.1早上的报错信息:这个是我下午模拟上午的错误(已经通过1.2里面的错误信息找到错误原因了),让他产生错误信息,但是这个和上午产生的错误信息不一样了,上午的我不知道错误在哪,这个就知 ...

  7. FAQ(43): com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL sy

    2018/1/3 spring对Mybatis整合, 看Log: org.springframework.jdbc.BadSqlGrammarException: ### Error querying ...

  8. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION security.to_date does not exist

    Mybatis中的这样写条件时,运行报错 com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: FUNCTION security.to ...

  9. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list is not in GR

    项目场景: sql报错:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Expression #1 of SELECT list ...

最新文章

  1. 【Live555】live555源码详解(四):Medium媒体基础类
  2. 节省磁盘空间的新一代包管理工具PNPM
  3. 服务器保存所有用户的操作指令(history)
  4. bootstrap账号和文本框在同一行_实用小工具之整理行
  5. Golang的模板与渲染
  6. php异常处理示例,php异常处理示例
  7. C语言函数题-两对儿参数的交换
  8. php获取本机root,通过PHP执行root命令
  9. Chrome调试模式获取App混合应用H5界面元素
  10. zeromq不需要消息服务器,ZeroMQ发布订阅TCP丢弃消息订阅服务器失败
  11. 网络营销数据解读(九)——客户族群细分(Segmentation)2-2
  12. STM32F207SPI、I2C实验记录
  13. arduino红外测距模块点亮一个LED灯
  14. GIS中常用专业英文术语
  15. c语言共阴极数码管编码,数码管之共阴极与共阳极编码
  16. Google自动翻译工具:对接谷歌翻译接口,实现本地化运行
  17. 架构搜索文献笔记(8):《FTT-NAS:发现容错神经结构》
  18. IE高版本兼容低版本
  19. av_read_frame
  20. [谨记]女人面前莫谈年龄

热门文章

  1. WINDOWS操作系统发展历程
  2. 朋也bbs开源学习(一)
  3. 网络营销中的动态定价策略
  4. 轮播图图片大小不统一
  5. SAP 物料评估类未填写
  6. 因执迷而绽放,终登聆听贡献者荣誉榜
  7. r语言中的多因素方差分析_R中的因素
  8. 高数:第四章(同济大学第七版)
  9. 项目管理 : 如何激发项目成员的工作积极性和热情
  10. Word邮件合并功能详解:合并后生成多个word文档,删除空白页