Zgodnie z prośbą o komentarz tutaj szybkie i brudne rozwiązanie ręczne, zakładając, że masz listę INSERT
oświadczenia (lub odpowiednie dane) w tej samej kolejności, co wystawiony INSERT
s. W tym przykładzie zakładam 1 milion rekordów.
INSERT ... VALUES (1, ...)
...
INSERT ... VALUES (250000, ...)
...
INSERT ... VALUES (500000, ...)
...
INSERT ... VALUES (750000, ...)
...
INSERT ... VALUES (1000000, ...)
Musisz tylko znaleźć ostatni PK, który został wstawiony. Na szczęście w tym przypadku jest jeden. Więc zaczynasz robić ręczne wyszukiwanie binarne w tabeli wydającej
SELECT pk FROM myTable WHERE pk = 500000
Jeśli otrzymasz wiersz z powrotem, wiesz, że zaszło tak daleko. Kontynuuj sprawdzanie za pomocą pk = 750000
. Z drugiej strony, jeśli jest tam z pk = 875000
. Jeśli 750000 nie ma, to INSERT
Musiało się zatrzymać wcześniej. Następnie sprawdź pk = 675000
. Ten proces zatrzymuje się w tym przypadku po 20 krokach.
To po prostu ręczny dziel i rządź.