首页 > 解决方案 > 用 Java 创建 MySQL 表看起来很乱

问题描述

我正在用 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();

问候

标签: javamysql

解决方案


您不能像这样创建表。
使用准备好的语句将传递给占位符,而不是表名或列名。
改成这样:

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();

推荐阅读