В MySQL у меня есть две таблицы, tableA
и tableB
. Я пытаюсь выполнить два запроса:
executeQuery(query1)
executeQuery(query2)
Но я получаю следующую ошибку:
can not issue data manipulation statements with executeQuery().
Что это означает?
Для управления данными вам действительно понадобится executeUpdate ()
, а не executeQuery ()
.
Вот отрывок из javadoc executeUpdate ()
, который сам по себе уже является ответом:
Выполняет данный оператор SQL, который может быть оператором INSERT, UPDATE или DELETE или оператором SQL, который ничего не возвращает, например оператором SQL DDL.
Используйте executeUpdate ()
для выполнения операторов управления данными. executeQuery ()
предназначен только для запросов SELECT (т. Е. Запросов, возвращающих набор результатов).
Для этого предназначен executeUpdate
.
Вот краткое изложение различий: http: // www. coderanch.com/t/301594/JDBC/java/Difference-between-execute-executeQuery-executeUpdate
ExecuteQuery ожидает набор результатов. Я не так хорошо знаком с Java / MySQL, но для создания индексов вам, вероятно, понадобится ExecuteUpdate ().