Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SQL CREATE语句包含错误的EXCUTES_Java_Mysql - Fatal编程技术网

Java SQL CREATE语句包含错误的EXCUTES

Java SQL CREATE语句包含错误的EXCUTES,java,mysql,Java,Mysql,任何人都可以帮助确定此sql create语句的问题所在。我试图使用JDBC驱动程序执行,但它返回一个错误:com.mysql.JDBC.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“CREATE TABLE IF NOT EXISTSasmscustomerAccount(trn\u idINT NOT NULL AUTO')附近使用的正确语法。 我正在使用mysql数据库

任何人都可以帮助确定此sql create语句的问题所在。我试图使用JDBC驱动程序执行,但它返回一个错误:com.mysql.JDBC.exceptions.jdbc4.MySQLSyntaxErrorException:您的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第1行的“CREATE TABLE IF NOT EXISTS
asms
customerAccount
trn\u id
INT NOT NULL AUTO')附近使用的正确语法。 我正在使用mysql数据库

      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";

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

首先删除表格(如果存在)

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。执行查询

我猜您不能在同一个JDBC语句中执行两个DML语句。
DROP TABLE
CREATE TABLE
。可能是因为SQL中没有DROP TABLE IF EXISTS CREATE TABLE IF NOT EXISTS语句。没有任何分隔符,这是一个大语句(语法无效).没错,但这些语句是否可以在一个语句中运行?您将如何编辑我的字符串以达到预期目的?