带查询创建表的SQLSyntaxErrorException

时间:2019-05-05 15:22:42

标签: java mysql

下午好,我正在使用数据库mysql和来自

的驱动程序使用Java开发sw

当我尝试使用此查询sql创建表时,它会创建sSQLSyntaxErrorException:

CREATE TABLE IF NOT EXISTS `ENT_BSNS` (`C_ENT_BSNS` INT(11), `C_TIP_ENT_BSNS` INT(11), `C_UTEN_CREATE` INT(11), 
      `D_DATE_CREATE` DATE,  PRIMARY KEY(C_ENT_BSNS)
    );  
CREATE TABLE IF NOT EXISTS `ENT_PRCS` (
      `C_ENT_PRCS` INT(11), `C_TIP_ENT_PRCS` INT(11), `C_UTEN_CREATE` INT(11),`D_DATE_CREATE` DATE, PRIMARY KEY(C_ENT_PRCS));

当我执行代码时:

DataBaseConnection dbConn = new DataBaseConnection();
Statement stm;

try {
        stm = dbConn.getConnectioToDb().createStatement();
    } catch (SQLException e) {
        e.printStackTrace();
        return false;
    }

try {
      stm.executeUpdate(this.queryToDo);
    } catch (SQLException e) {
        e.printStackTrace();
        throw new ExceptionQuery(this.queryToDo);
    }

堆栈异常是:

    java.sql.SQLSyntaxErrorException: 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 'CREATE TABLE IF NOT EXISTS `ENT_PRCS` ( `C_ENT_PRCS` INT(11),  `C_TIP_ENT_PRCS` ' at line 1
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:120) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.StatementImpl.executeUpdateInternal(StatementImpl.java:1355)
    at com.mysql.cj.jdbc.StatementImpl.executeLargeUpdate(StatementImpl.java:2128)
    at com.mysql.cj.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1264)
    at Database.DoQuery.playQueryNoResult(DoQuery.java:35)
    at Server.InstallerDataBase.installDb(InstallerDataBase.java:38)
    at Server.InstallerDataBase.main(InstallerDataBase.java:53)

我不明白为什么。

我尝试在phpmysql窗格上执行查询,因为它成功创建了表。

谢谢。

弗朗切斯科

0 个答案:

没有答案