1. Сделать атомарность, транзакции, если их нет, то другими способами, например если это файл, то сделать результирующий файл рядом и если все ок, то заменить (переименовать) исходный.
2. Помечать обработанные строки, в самой строке или с наружи.
3. Помечать текущую строку внутри/или снаружи, если процесс имеет "строгую" последовательность.
для каждой записи(их милион) добавлять +1
Конкретно эта задача решается не так, строки можно не обновлять совсем:
1) можно вычислять значение от даты создания строки
2) можно делать +1 всего лишь на одно значение, а во всех строках будет хранится только сдвиг