Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> INSERT IGNORE i auto increment
DNMX
post 20.03.2022, 20:35:00
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?
Go to the top of the page
+Quote Post
trueblue
post 20.03.2022, 21:35:12
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


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2024 - 08:51