0
Я только начал изучать jdbc и делать с ним различные тесты.jdbc 4 connection rollback autoincrement issue
я наткнулся на следующую ситуации
- набор точка сохранение
- создать подготовленное заявление и попытаться выполнить (добавляемые данные в таблицу с внешним ключом, который не существует
- Выполнить() метод завершается неудачно, и я делаю откат.
- Когда я делаю правильный запрос, строка вставляется в db, но первичный ключ устанавливается как n + 2 вместо n + 1 (где n - последнее вставленное значение). Угадайте автоинкремент индекса, даже если запрос не удался.
Есть ли механизм, чтобы избежать этого и установить n + 1?
Примечание. Я использую MySQL.
Спасибо.
как насчет чтения http://stackoverflow.com/questions/449346/mysql-auto-increment-does-not-rollback topic? –
Я согласен с этим сообщением, но я не хочу принимать во внимание это в своей логике приложений. Мне просто интересно, почему происходит это явление, и если есть способ преодолеть это. – Radu
Это происходит потому, что генерация id не зависит от транзакции. Невозможно преодолеть это без особых усилий. Не указывайте значение id. – Hiro2k