Mysql запускает код, но создается только первая таблица - PullRequest
0 голосов
/ 30 марта 2019

Я занимаюсь разработкой приложения и использую JavaMysql для подключения к базе данных.Как гласит заголовок, 2-я таблица (autochans) не создается.

Я попытался запустить оба SQL-соединения в одном операторе, но также не смог

Вот как я подключаюсь к БД,используя java.sql. *;

connection = DriverManager.getConnection("jdbc:mysql://" + this.host + ":" + this.port + "/" + this.database, this.user, this.password);

Основной код

public MySql initialize() {

    connect();

    try {
        connection.prepareStatement("SELECT 1 FROM guilds LIMIT 1").executeQuery();
    } catch (SQLException e) {
        try {
            connection.prepareStatement(
                    "CREATE TABLE IF NOT EXISTS `guilds` (\n" +
                            "  `id` text,\n" +
                            "  `prefix` text,\n" +
                            "  `joinmsg` text,\n" +
                            "  `leavemsg` text,\n" +
                            ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"

            ).execute();

            connection.prepareStatement(
                    "CREATE TABLE IF NOT EXISTS `autochans` (\n" +
                            "  `chan` text,\n" +
                            "  `guild` text,\n" +
                            ") ENGINE=InnoDB DEFAULT CHARSET=utf8;"
            ).execute();

            System.out.println("MySql structure created...");
        } catch (SQLException e1) {
            e1.printStackTrace();
        }
    }

    return this;
}

1 Ответ

0 голосов
/ 30 марта 2019

Вам нужно удалить запятую для последнего столбца.

Попробуйте с

        connection.prepareStatement(
                "CREATE TABLE IF NOT EXISTS `guilds` (\n" +
                        "  `id` text,\n" +
                        "  `prefix` text,\n" +
                        "  `joinmsg` text,\n" +
                        "  `leavemsg` text\n" +
                        ") ENGINE=InnoDB DEFAULT CHARSET=utf8"

        ).execute();

        connection.prepareStatement(
                "CREATE TABLE IF NOT EXISTS `autochans` (\n" +
                        "  `chan` text,\n" +
                        "  `guild` text\n" +
                        ") ENGINE=InnoDB DEFAULT CHARSET=utf8"
        ).execute();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...