Я использую
- 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
").
Что я делаю не так?