MySQLSyntaxErrorException при создании таблицы - PullRequest
1 голос
/ 10 января 2011

Я довольно новичок в MySQL с Java, но я выполнил несколько успешных запросов INSERT, но, похоже, не могу выполнить запрос CREATE TABLE без получения исключения MySQLSyntaxErrorException.Мой код выглядит следующим образом:

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, и он работает как следует.

1 Ответ

3 голосов
/ 10 января 2011

\n заставит нажатие вводить эффект :) сделать это как

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 ;";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...