下午好,我正在使用数据库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窗格上执行查询,因为它成功创建了表。
谢谢。
弗朗切斯科