Пакетная вставка MySQL: получить количество вставленных строк
Я использую Java для выполнения пакетной вставки в таблицу MySQL:
cnx = lconnect.openConnection();
mStatement = cnx.createStatement();
boolean firstTime = true;
PreparedStatement preparedStatement = null;
preparedStatement = cnx.prepareStatement(strQuery);
preparedStatement.setString(param1);
preparedStatement.setString(param2);
....
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);
preparedStatement.addBatch();
preparedStatement.setString(param1);
preparedStatement.setString(param2);
preparedStatement.execute();
Есть ли способ действительно узнать количество вставленных строк?
Я думаю, что мой кусок кода работает (?) По количеству строк в БД, не совпадает с количеством строк, которые должны быть вставлены, поэтому я думаю, что у меня проблема с y-вставками.
2 ответа
Решение
Вы должны позвонить executeBatch()
, Возвращенный массив содержит информацию, которую вы хотите.
Из JavaDoc:
Возвращает: массив обновлений, содержащий один элемент для каждой команды в пакете. Элементы массива упорядочены в соответствии с порядком, в котором команды были добавлены в пакет.
Использование PreparedStatement
объект для каждой записи серии:)