Почему затрагивается успешное ОБНОВЛЕНИЕ, возвращающее -1 строку? - PullRequest
0 голосов
/ 01 сентября 2018

Я использую

  • Clojure 1.9.0
  • org.clojure / java.jdbc 0.7.8
  • MariaDB 10.3.9
  • org.mariadb.jdbc / mariadb-java-client 2.2.6

Мой драйвер / строка подключения:

(def db {:classname "org.mariadb.jdbc.Driver"
         :subprotocol "mariadb"
         :subname "//127.0.0.1:3306/dbname"
         :user "username"
         :password "password"})

У меня есть таблица examples со столбцами comment и user.

Запросы работают нормально:

(jdbc/query db ["select * from examples")
;=> ({:user "existing user", :comment "example comment"})

Приведенный ниже оператор успешно изменяет строки в базе данных, но всегда возвращает -1 вместо числа затронутых строк:

(jdbc/execute! db ["update examples set comment = ? where user = ?"
                   "test comment"
                   "existing user"])
;=> (-1)

Явный вызов row_count() сразу после того, как вышеизложенное возвращает тот же результат:

(jdbc/query db ["select row_count()"])
=> ({:row_count() -1})

Эквивалентные команды дают правильные результаты в оболочке mariadb ("mysql").

Что я делаю не так?

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