用Java创建MySQL表看起来很凌乱
我正在用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
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片段。