Обновить версию SQLite до 3.25> - PullRequest
0 голосов
/ 10 марта 2019

Я пытаюсь выполнить команду обновления на моей базе данных, но когда я ее выполняю, выдается ошибка. Эта ошибка выглядит как несовместимая команда с моей версией SQLite. Цель, я хотел бы обновить несколько строк в одном запросе, а затем, если есть дублированная строка, обновить его. На моем сервере сейчас включен SQLite, 3.7. Это ошибка: java.sql.SQLException: near "ON": syntax error

Метод, который я использую:

    public void updateMultiple(String[] strArray) {
    if (strArray == null || strArray.length <= 0) return;

    StringBuilder sb = new StringBuilder(strArray.length);

    for (String str : strArray) {
        sb.append("('" + str + "', 'yes', 'NONE', 'NONE'),");
    }

    Connection connection = null;
    Statement statement = null;
    String values = sb.toString();
    String query = "INSERT INTO `" + DBManager.TABLE + "` (`address`, `proxy`, `country`, `isp`) " +
                           "VALUES " + values.substring(0, values.length() - 1) + " " +
                           "ON CONFLICT(`address`) DO UPDATE SET " +
                           "`proxy` = EXCLUDED.`proxy`" +
                           ", `country` = EXCLUDED.`country`" +
                           ", `isp` = EXCLUDED.`isp`;";

    System.out.print(query);
    try {
        connection = getConnection();
        statement = connection.createStatement();
        statement.executeUpdate(query);
    } catch (SQLException ex) {
        ex.printStackTrace();
    } finally {
        closeConnections(connection, null, null, statement);
    }
}

На Maven: (Я установил зависимость от Maven, но он все еще работает на версии 3.7, а не на 3.25)

<dependency>
    <groupId>org.xerial</groupId>
    <artifactId>sqlite-jdbc</artifactId>
    <version>3.25.2</version>
</dependency>

У меня вопрос: как мне обновить версию SQLite (моего сервера) до 3.25 или выше?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...