Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.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创建MySQL表看起来很凌乱_Java_Mysql - Fatal编程技术网

用Java创建MySQL表看起来很凌乱

用Java创建MySQL表看起来很凌乱,java,mysql,Java,Mysql,我正在用Java创建一个MySQL表。我不想要一根大绳子,因为我觉得它看起来很乱 创建表时是否有类似的情况 try (final PreparedStatement statement = this.connection.prepareStatement("CREATE TABLE IF NOT EXISTS " + this.table + "(?, ?)")) { statement.setString(1, "id TINYINT PRIMA

我正在用Java创建一个MySQL表。我不想要一根大绳子,因为我觉得它看起来很乱

创建表时是否有类似的情况

            try (final PreparedStatement statement = this.connection.prepareStatement("CREATE TABLE IF NOT EXISTS " + this.table + "(?, ?)")) {
            statement.setString(1, "id TINYINT PRIMARY KEY NOT NULL");
            statement.setString(2, "another_column TINYTEXT NOT NULL");

            statement.execute();

关于

您不能这样创建表。
使用准备好的语句将值传递给占位符和表名或列名
更改为:

PreparedStatement statement = this.connection.prepareStatement(
    "CREATE TABLE IF NOT EXISTS " + this.table + " (" + 
    "id TINYINT PRIMARY KEY NOT NULL, another_column TINYTEXT NOT NULL)"
);
statement.execute();

好吧,它将不起作用,因为您设置了两次相同的参数。这将不起作用,因为您提供的参数将放在引号之间(我甚至认为JDBC不允许在
PreparedStatement
中进行DDL查询)。您需要自己生成查询。参数仅用于值,不用于SQL片段。