我得到的错误是:
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;请检查对应于mysql服务器版本的手册,以获取在第1行的“Desc”值(1,'Sem 2','1',1,'1234','2017-11-03','2',3,'vnfhmj.k./kkc')'附近使用的正确语法
如果删除desc...则错误消失。可输入的项目数量有限制吗?
代码:

String query="insert into exam(sub_id,exam_sem,co,tch_id,ex_pwd,ex_date,ex_duration,noofq,Desc) values(?,?,?,?,?,?,?,?,?)";
PreparedStatement pstmt=DatabaseConnector.getPreparedStatement(query);
//pstmt.setInt(1,ed.getEx_id());
pstmt.setInt(1,ed.getSub_id());
pstmt.setString(2,ed.getEx_sem());
pstmt.setString(3,ed.getEx_co());
pstmt.setInt(4,ed.getT_id());
pstmt.setString(5,ed.getEx_pwd());
pstmt.setString(6,ed.getEx_date());
pstmt.setString(7,ed.getEx_duration());
pstmt.setInt(8,ed.getNoofq());
pstmt.setString(9,ed.getDesc());

最佳答案

DESC是一个SQL关键字,用于在ORDERBY子句中指定方向。这可能就是问题所在。试着用类似“Desc”的反勾来包围它。
另外,以后尽量不要使用关键字或SQL函数作为字段名,这会导致很难调试错误。

关于java - desc附近的SQL语法错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47102007/

10-16 23:21