Я хочу вставить несколько строк в таблицу MySQL одновременно, используя Java. Количество строк является динамическим. В прошлом я занимался ...
for (String element : array) {
myStatement.setString(1, element[0]);
myStatement.setString(2, element[1]);
myStatement.executeUpdate();
}
Я хотел бы оптимизировать это для использования синтаксиса, поддерживаемого MySQL:
INSERT INTO table (col1, col2) VALUES ('val1', 'val2'), ('val1', 'val2')[, ...]
, но с PreparedStatement
я не знаю ни одного способа сделать это, поскольку заранее не знаю, сколько элементов будет содержать array
. Если это невозможно с PreparedStatement
, как еще я могу это сделать (и при этом экранировать значения в массиве)?