![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 127 Pomógł: 0 Dołączył: 18.09.2021 Ostrzeżenie: (0%) ![]() ![]() |
Mam sobie bazę danych, powiedzmy 50 000 rekordów.
1. dnia robię import z pliku .sql gdzie jest 50 001 rekordów z czego jeden nowy. Plik .sql zawiera wiersze "INSERT IGNORE..." Jeden nowy rekord jest w bazie ale z ID 100 001 a nie 50 001. 2. Dnia robię import z kolejnego pliku .sql. Jest w nim 50 003 rekordów. 50 001 już mam w bazie. Też kwerendy INSERT IGNORE. Po 100 001 mam ID 150 002 i 150 003 zamiast 100 002. Dlaczego to tak rośnie? Co zrobić, żeby ID szły kolejno tj 50 001, 50 002, 50 003 itp? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jedna kwestia, to zwiększanie pola autonumer nawet w przypadku niewstawienia klucza ze względu na naruszenie więzów klucza unikalnego: https://stackoverflow.com/a/5655448
Druga, to fakt, że wstawiasz własne id. Id klucza nie musi być ciągłe, nie ma to kompletnie znaczenia. Nie musisz w wstawiać rekordów wraz z ich id, chyba, że wstawiasz również do innej tabeli w relacji. Ten post edytował trueblue 20.03.2022, 21:35:23 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 02:06 |