Java 创建表时出现MySQLSyntaxErrorException

Java 创建表时出现MySQLSyntaxErrorException,java,mysql,database,Java,Mysql,Database,我对使用Java的MySQL相当陌生,但是我已经执行了一些成功的INSERT查询,但是如果没有得到MySQLSyntaxErrorException异常,似乎无法执行CREATE TABLE查询。我的代码如下: Statement stmt; String url = "jdbc:mysql://localhost:3306/mysql"; Connection con = DriverManager.getConnection(url, "root", "password"); stmt =

我对使用Java的MySQL相当陌生,但是我已经执行了一些成功的INSERT查询,但是如果没有得到
MySQLSyntaxErrorException
异常,似乎无法执行CREATE TABLE查询。我的代码如下:

Statement stmt;
String url = "jdbc:mysql://localhost:3306/mysql";
Connection con = DriverManager.getConnection(url, "root", "password");
stmt = con.createStatement();
String tblSQL = "CREATE TABLE IF NOT EXISTS \'dev\'.\'testTable\' (\n"
                + " \'id\' int(11) NOT NULL AUTO_INCREMENT,\n"
                + " \'date\' smallint(6) NOT NULL\n"
                + ") ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";
stmt.executeUpdate(tblSQL);
stmt.close();
con.close();
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
    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 ''dev'.'testTable' (
   'id' int(11) NOT NULL AUTO_INCREMENT,
   'date' smallint(6) N' at line 1
误差如下:

Statement stmt;
String url = "jdbc:mysql://localhost:3306/mysql";
Connection con = DriverManager.getConnection(url, "root", "password");
stmt = con.createStatement();
String tblSQL = "CREATE TABLE IF NOT EXISTS \'dev\'.\'testTable\' (\n"
                + " \'id\' int(11) NOT NULL AUTO_INCREMENT,\n"
                + " \'date\' smallint(6) NOT NULL\n"
                + ") ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";
stmt.executeUpdate(tblSQL);
stmt.close();
con.close();
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:
    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 ''dev'.'testTable' (
   'id' int(11) NOT NULL AUTO_INCREMENT,
   'date' smallint(6) N' at line 1

如果有人能发现此查询中的错误,我将不胜感激,因为我已尝试在phpMyAdmin中执行此操作,并且它正常工作。

\n
将使按enter键生效:)按如下方式执行

String tblSQL = "CREATE TABLE IF NOT EXISTS `dev`.`testTable`"
            + "("
            + "id INTEGER(11) NOT NULL AUTO_INCREMENT primary key,"
            + "date smallint(6) NOT NULL"
            + ")"
            + "ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;";

即使您可以删除逗号,也不需要逗号,请使用您的mysql版本立即检查查询语法,现在语法似乎有问题,请尝试在控制台上使用Spring string并尝试在mysql命令界面中运行该命令,找出语法错误我刚刚在mysql中检查过,语法似乎有问题,我已经解决了,我用phpMyAdmin创建了同一个表,然后把代码复制到我的Java程序中,它就工作了。代码如下所示:tblSQL=“CREATE TABLEdevtestTable2(“+”idINT-NOT-NULL自动递增主键,“+”dateINT-NOT-NULL,“+”monthINT-NOT-NULL”+”)ENGINE=MYISAM;“;:)我正要告诉你主要的关键信息,谢谢mate为查询本身提供了一些线索。我认为这是一个java问题。