Unknown column 'user_uid' in 'field list' sql错误解决过程

本文记录了一次在Eclipse中使用JDBC向MySQL数据库插入数据时遇到的字段不一致错误,并详细描述了排查过程及解决方案,强调了检查字段时直接查看创建表语句的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分享一个零基础,通俗易懂,而且非常风趣幽默的人工智能教程(如不能直接点击访问,请以“右键”->“在新标签页中打开链接”方式打开)网站,网址:https://www.cbedai.net/gnailoug/

昨天在eclipse中使用jdbc向mysql数据库插入数据时,报以下错误信息: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column ‘user_uid’ in 'field list’
直觉反应是数据库字段和sql语句字段不一致。所以就核对表字段。打开Navicat连接mysql,查看表设计,如下图:
这里写图片描述
编写的sql语句如下:
这里写图片描述
初看字段一致,还以为记错了,难道不是字段不一致的问题?于是google了一番,确定还是字段不一致。在eclipse中debug调试了一下,还是在sql位置报错。
明明字段看着写的没错,但就是报错,很是纠结。


无意间把鼠标的光标移到了user_uid字段最前面,大吃一惊,出现了如下情况:
这里写图片描述
正如上图所示,user_id看不到了,还以为按成删除键给删掉了呢。赶紧将光标右移一下,user_id又出来了。于是断定字段名里有换行,切换到sql预览,查看创建表sql,果然有换行,如下图:
这里写图片描述


到此问题解决。


教训:核对字段是否一致时,最靠谱的方式就是直接看创建表的语句,能避免由于特殊字符引起。



分享一个零基础,通俗易懂,而且非常风趣幽默的人工智能教程(如不能直接点击访问,请以“右键”->“在新标签页中打开链接”方式打开)网站,网址:https://www.cbedai.net/gnailoug/

消息 在 [15] 行处理 [/list.jsp] 时发生异常 描述 服务器遇到一个意外的情况,阻止它完成请求。 例外情况 org.apache.jasper.JasperException: 在 [15] 行处理 [/list.jsp] 时发生异常 12: } 13: 14: int offset = (pageNum - 1) * pageSize; 15: List<Article> articles = articleDao.getArticles(offset, pageSize); 16: int totalArticles = articleDao.getTotalArticles(); 17: int totalPages = (int) Math.ceil((double) totalArticles / pageSize); 18: %> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:610) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:489) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 javax.servlet.ServletException: java.sql.SQLSyntaxErrorException: Unknown column 'id' in 'field list' org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:654) org.apache.jsp.list_jsp._jspService(list_jsp.java:298) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:67) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) 根本原因。 java.sql.SQLSyntaxErrorException: Unknown column 'id' in 'field list' com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:953) com.mysql.cj.jdbc.ClientPreparedStatement.executeQuery(ClientPreparedStatement.java:1009) com.myblog.dao.ArticleDAO.getArticles(ArticleDAO.java:104) org.apache.jsp.list_jsp._jspService(list_jsp.java:141) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:67) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:466) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:376) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:324) javax.servlet.http.HttpServlet.service(HttpServlet.java:623) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) ):注意 主要问题的全部 stack 信息可以在 server logs 里查看
06-12
评论 27
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值