уровень изоляции транзакции в JDBC с полем auto_incremement - PullRequest
0 голосов
/ 10 сентября 2010

У меня есть таблица, в которую мне нужно вставить записи, поле id является основным полем auto_increment, я не уверен, какой уровень изоляции мне следует использовать, чтобы ни одна запись не создавалась с таким же идентификатором при 2 одновременных транзакцияхработают?это мой код:

String query = "insert into InstrumentTable values(?,?,?,? )";
        Connection con = null;
        PreparedStatement prepedStatement = null;
        try {
            con = connectionPool.getConnection();
            con.setAutoCommit(false);
            prepedStatement = con.prepareStatement(query);
            prepedStatement.setString(1, type);
            prepedStatement.setInt(2, permissionLevel);
            prepedStatement.setInt(3, slotTime);
            prepedStatement.setString(4, description);
            prepedStatement.executeUpdate();
            con.commit();
        }

спасибо

1 Ответ

0 голосов
/ 12 сентября 2010

Я думаю, что любой уровень изоляции подойдет, так как поле auto_increment должно позаботиться о том, чтобы не предоставлять повторяющиеся значения.Конечно, вы должны попытаться работать хотя бы с READ_COMMITTED (а некоторые базы данных не поддерживают более низкие уровни изоляции).

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