SQL CREATE语句已异常错误

时间:2015-01-19 09:07:58

标签: java mysql

任何人都可以通过此sql create语句帮助确定问题所在。我试图使用JDBC驱动程序执行但它返回一个错误:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便在#CREI TABLE {NOT} EXISTS asms附近使用正确的语法。customerAccounttrn_id INT NOT NULL AUTO'在第1行。  我使用的是mysql db

      String createAccount = "DROP TABLE IF EXISTS `asms`.`customerAccount`"
            + "CREATE TABLE IF NOT EXISTS`asms`.`customerAccount` ( "
            + " `trn_id` INT NOT NULL AUTO_INCREMENT, "
            + " `trn_date` DATE NOT NULL, "
            + " `narration` VARCHAR(200) NULL, "
            + " `value_date` VARCHAR(50) NULL, "
            + " `debit` DOUBLE NULL,  `credit` DOUBLE NULL,"
            + "  `ledger_balance` DOUBLE NULL DEFAULT 0.0, "
            + " `credit_account_no` VARCHAR(50) NULL, "
            + " `customerAccountcol` VARCHAR(100)NULL, "
            + " `tra_ref_number` VARCHAR(50) NULL, "
            + " `trn_type` VARCHAR(10) NULL, "
            + " `action_type` VARCHAR(10) NULL,  "
            + "`approve_insu_funds` VARCHAR(10) NULL,"
            + "  PRIMARY KEY (`trn_id`), "
            + " UNIQUE INDEX `debit_UNIQUE` (`debit` ASC),"
            + "  UNIQUE INDEX `credit_UNIQUE` (`credit` ASC),"
            + "  UNIQUE INDEX `ledger_balance_UNIQUE` (`ledger_balance` ASC))ENGINE = InnoDB AUTO_INCREMENT = 00001";

1 个答案:

答案 0 :(得分:0)

这应该是2个查询,第一个删除表,第二个创建新的

如果存在,则第1次删除表

String dropTableQuery= "DROP TEMPORARY TABLE IF EXISTS `asms`.`customerAccount`";
//execute the query now

然后执行创建查询

String createAccount ="CREATE TABLE IF NOT EXISTS`asms`.`customerAccount` ( "
        + " `trn_id` INT NOT NULL AUTO_INCREMENT, "
        + " `trn_date` DATE NOT NULL, "
        + " `narration` VARCHAR(200) NULL, "
        + " `value_date` VARCHAR(50) NULL, "
        + " `debit` DOUBLE NULL,  `credit` DOUBLE NULL,"
        + "  `ledger_balance` DOUBLE NULL DEFAULT 0.0, "
        + " `credit_account_no` VARCHAR(50) NULL, "
        + " `customerAccountcol` VARCHAR(100)NULL, "
        + " `tra_ref_number` VARCHAR(50) NULL, "
        + " `trn_type` VARCHAR(10) NULL, "
        + " `action_type` VARCHAR(10) NULL,  "
        + "`approve_insu_funds` VARCHAR(10) NULL,"
        + "  PRIMARY KEY (`trn_id`), "
        + " UNIQUE INDEX `debit_UNIQUE` (`debit` ASC),"
        + "  UNIQUE INDEX `credit_UNIQUE` (`credit` ASC),"
        + "  UNIQUE INDEX `ledger_balance_UNIQUE` (`ledger_balance` ASC))ENGINE = InnoDB AUTO_INCREMENT = 00001";

//和ofc。执行查询