我正在用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();
致谢
答案 0 :(得分:1)
您不能像这样创建表。
使用准备好的语句将值传递给占位符,并不传递表名或列名。
更改为此:
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();