У меня есть следующая база данных:
CREATE TABLE b (
name VARCHAR(255) NOT NULL,
text MEDIUMTEXT NOT NULL,
PRIMARY KEY (NAME)
);
И у меня есть следующий код:
public void saveBlocks(Map<String, Block> blocks) throws SQLException{
String userInsertQuery = "Insert INTO b (name, text) VALUES (?, ?)";
preparedStatement = connect.prepareStatement(userInsertQuery);
int batchCounter = 0;
for(Block block : blocks.values()){
preparedStatement.setString(1,block.getId());
preparedStatement.setString(2,block.getText());
preparedStatement.addBatch();
batchCounter++;
if(batchCounter%200 == 0) {
preparedStatement.executeBatch();
}
}
preparedStatement.executeBatch();
}
Но он ничего не записывает в базу данных.У меня есть почти такой же код для другой таблицы, и там он работает без проблем.Единственное отличие заключается в количестве вставок, которые я делаю (в рабочем случае: более 1 миллиона, в нерабочем случае: около 70)
Я не могу найти решение, и у меня нет идей.
То, что я пытался: - connect.commit () =>, так как у меня есть autocommit true без изменений.(или я использую это неправильно?) - У меня нет автоматического увеличения ключа, поэтому проблем нет.
У вас есть идеи?