SQL-запрос работает в phpmyadmin, но не при использовании jdbc и java - PullRequest
1 голос
/ 15 марта 2012

Этот запрос работает, когда я ввожу его через phpmyadmin.

INSERT INTO conversation (user_id) VALUES (?);
INSERT INTO conversation (conversation_id, user_id)
VALUES ((SELECT LAST_INSERT_ID()), ?)

Однако, когда я отправляю этот запрос, используя jdbc и java, я получаю сообщение об ошибке -

В вашем SQL есть ошибкасинтаксис;проверьте руководство, соответствующее вашей версии сервера MySQL, на предмет правильного синтаксиса, который можно использовать рядом с 'INSERT INTO chat (journal_id, user_id) VALUES ((SELECT LAST_INSERT_' в строке 1 "

Я использую точно такой же запрос.Я проверил, вызвав toString в PreparedStatement, скопировав и вставив его в phpmyadmin и выполнив его, и он работал нормально. Он просто не работает через Java. Есть идеи, что не так?

1 Ответ

4 голосов
/ 15 марта 2012

По умолчанию вы не можете выполнять несколько операторов в одном запросе через JDBC. Будет работать разбиение на два вызова, а также изменение свойства конфигурации allowMultiQueries на True.

Свойства конфигурации JDBC & mdash; allowMultiQueries:

Разрешить использование ';' для разделения нескольких запросов в течение одного оператора (true / false), по умолчанию используется значение false и не влияет на методы addBatch () и executeBatch (), которые вместо этого полагаются на rewriteBatchStatements.

Значение по умолчанию: false

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