Java 是什么导致了这个SQLException?

Java 是什么导致了这个SQLException?,java,sql,Java,Sql,我得到以下错误: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您有一个 SQL语法错误;检查与您的产品相对应的手册 在第1行的“”附近使用正确语法的MySQL服务器版本 尝试运行以下代码时: String sql = "INSERT INTO `tutors`.`appointments`" + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"

我得到以下错误:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您有一个 SQL语法错误;检查与您的产品相对应的手册 在第1行的“”附近使用正确语法的MySQL服务器版本

尝试运行以下代码时:

String sql = "INSERT INTO `tutors`.`appointments`"
        + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
        + ("VALUES(?, ?, ?, ?, ?");
 try {
     PreparedStatement ps = conn.prepareStatement(sql);
     ps.setInt(1, working.get(0).getTutorID());
     ps.setString(2, tuteeName);
     ps.setString(3, tuteeEmail);
     ps.setDate(4, date);
     ps.setTime(5, time);
     ps.executeUpdate();

异常所指的
'
是由什么产生的?我正在学习使用java中的SQL,所以我确信这只是一个愚蠢的语法错误…

您需要行间距,并且没有关闭括号中的值:

 String sql = "INSERT INTO `tutors`.`appointments`"
            + " (`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
            +  ("VALUES(?, ?, ?, ?, ?)");

sql字符串有问题。应该是

"INSERT INTO `tutors`.`appointments`"
            + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
            + "VALUES(?, ?, ?, ?, ?)";
String sql = "INSERT INTO `tutors`.`appointments`"
    + " (`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
    + " VALUES(?, ?, ?, ?, ?");
可能在第三行的第一个“(”中

String sql = "INSERT INTO `tutors`.`appointments`"
    + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
    + ("VALUES(?, ?, ?, ?, ?");
应该是

"INSERT INTO `tutors`.`appointments`"
            + "(`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
            + "VALUES(?, ?, ?, ?, ?)";
String sql = "INSERT INTO `tutors`.`appointments`"
    + " (`tutorID`, `tuteeName`, `tuteeEmail`, `time`, `date`)"
    + " VALUES(?, ?, ?, ?, ?");

在第二行和第三行的开头添加一些空格。

在将查询放入codespacing之前,始终尝试在客户端执行一次查询,这并不是真正的问题,但是
VALUES
子句中缺少