导致这个MySQLSyntaxError异常的原因是什么?

时间:2009-05-27 02:28:03

标签: java mysql exception jsp

我编写了这个查询(在java类中),从MySQL数据库中选择一些信息 并在jsp页面上查看...

  

SELECT instructor.name FROM   指导员,部分,教在哪里   teach.student_id ='3'和teach.section   = section.number AND section.instructor_id = instructor.ID

但是发生了异常!

  

javax.servlet.ServletException:   com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:   您的SQL语法有错误;   检查对应的手册   您的MySQL服务器版本   正确的语法使用附近   '.student_id ='3'和teach.section =   section.number AND   section.instructor_id = ins'在第1行

,,

顺便说一句,我是用PhpMyAdmin写的,这是有用的。

应用服务器:Sun GlassFish Enterprise Server v2.1

请帮帮我......

此致

5 个答案:

答案 0 :(得分:6)

'3'之后需要一个空格。

答案 1 :(得分:1)

似乎缺少一个空间。 '.student_id ='3'AND - > '.student_id ='3'和

答案 2 :(得分:0)

如果您的查询与您的查询完全一致:

SELECT instructor.name FROM instructor,section,teach WHERE teach.student_id='3'AND
    teach.section = section.number AND section.instructor_id= instructor.ID

然后您需要在上面第一行的'3'之后和AND之前的空格。

答案 3 :(得分:0)

“teach.student_id”的数据类型是什么?是数字还是varchar。如果是数字,则不需要将'3'放在单引号内。 例如 teach.student_id = 3

答案 4 :(得分:0)

全部谢谢

我在java类中写了这样的查询

  

ResultSet rs   = stmt.executeQuery(“SELECT instructor.name”+                   “从讲师,部分,教”+                   “WHERE teach.student_id =”+“'”+ idd +“'”+   “和teach.section = section.number   AND section.instructor_id =   instructor.ID“);

然后我消除所有行,并将查询放在这样的一行中,然后它就解决了......

此致