Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: INSERT IGNORE i auto increment
Forum PHP.pl > Forum > Bazy danych > MySQL
DNMX
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?
trueblue
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.