You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Java开发表单存入数据库时遭遇MySQL SQL语法错误求助

SQL语法错误排查:Java表单数据存入数据库失败

错误提示

  • 未输入值时的报错:

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 'values('','','','','',null,'','',''))' at line 1

  • 输入值后的报错:

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 'values('**********785@gmail.com','','Aashin','sood','vpo bhawarn teh palampur di' at line 1

问题代码片段

public class RegisterServlet extends HttpServlet{
private static final String INSERT_QUERY = "INSERT INTO  USER (email, password, firstname, lastname, address, pincode, state,  number, feedback values(?,?,?,?,?,?,?,?,?))";

错误原因及修复方案

你的INSERT语句存在明显语法错误:列名列表的右括号缺失,导致values关键字被错误地包含在列名括号内,破坏了SQL结构。

修正后的正确SQL语句如下:

private static final String INSERT_QUERY = "INSERT INTO `USER` (email, password, firstname, lastname, address, pincode, state, number, feedback) VALUES(?,?,?,?,?,?,?,?,?)";

几点说明:

  1. 补上列名列表末尾的右括号),将values移到括号外侧,符合INSERT INTO 表名(列名) VALUES(占位符)的标准语法
  2. 移除number前多余的空格,保持代码整洁
  3. 用反引号包裹USER`——因为USER是MySQL的保留关键字,虽然部分版本允许直接使用,但加反引号能避免潜在的语法冲突

内容的提问来源于stack exchange,提问作者Aashin Sood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 02:30:59