我正在用 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();
关于java - 用Java创建MySQL表看起来很乱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55745844/