starterrrrr
2.11.2020, 20:38:11
Witam.
Planuje migrować swojego cmsa z blogiem, na frameworka. Najprawdopodobniej Symfony.
Problemem jest to, że nigdy nie korzystałem z opcji "auto_increment" dla klucza głównegow bazie danych.
Zawsze używałem funkcje max_id($table_name, $kol_name);, która odczytuje mi najnowsze id i dodaje 1. I sprawdzało się to dobrze.
Jak można pogodzić teraz bazę bez tego auto_increments z korzystaniem z Symfony?
Czy można jakoś wskazać od jakiego ID ma lecieć ten auto_increment?
P.S. Jest już kilka blogów na tej aplikacji, narazie przeniósł bym samego admina, jednak skrypt po stronie użytkownika również wykonuje operacje na bazie danych.
Proszę doradzić co w takiej sytuacji zalecacie?
SmokAnalog
2.11.2020, 20:53:09
W sensie chcesz dodać do bazy auto increment czy używać swojego starego sposobu? Polecam jednak używać auto increment z poziomu bazy. Jak ustawisz na kolumnie auto increment, to nic więcej nie musisz robić - baza sama wie jaka jest kolejna wartość.
starterrrrr
2.11.2020, 20:58:36
Cytat(SmokAnalog @ 2.11.2020, 20:53:09 )

W sensie chcesz dodać do bazy auto increment czy używać swojego starego sposobu? Polecam jednak używać auto increment z poziomu bazy. Jak ustawisz na kolumnie auto increment, to nic więcej nie musisz robić - baza sama wie jaka jest kolejna wartość.
Obecnie nie używam, myślę, jak zmigrować do autoincrement. Jak wskazać bazie od którego numeru jak już są jakieś wpisy?
Czy jest jakieś narzędzie, które mi automatycznie ustawi odpowiednie id dla autoincrements?
P.S. Jeżeli w bazie będzie na danym polu będzie autoincrements a podam konkretne id jakie będzie to miało konsekwencje?
viking
2.11.2020, 21:08:22
Możesz ustawić dowolne od którego możesz zaczynać. Poczytaj dokumentację.
SmokAnalog
2.11.2020, 21:15:23
Jeszcze raz - jak masz na przykład w bazie jakąś kolumnę z wartościami 7, 69 i 101, to po nałożeniu auto increment baza sama wie, że kolejną wartością ma być 102. Nie nie musisz robić. O to chodzi, czy chcesz ustawić jakąś inną wartość ręcznie?
Tomplus
2.11.2020, 21:24:15
Nawet jeżeli dodasz numer wyższy niż AI np.
id ostatniego rekordu 100, a ty dodasz na sztywno 200, to przy kolejnym rekordzie będzie 201.
Poeksperymentuj na testowej tabeli, z jedną kolumną AI.
starterrrrr
3.11.2020, 09:06:19
Ok dziękuje Panowie za podpowiedzi.
Już wszystko rozjaśnione.
Kiedyś kiedyś miałem styczność z auto_increment i Pamiętam, że przy przenoszeniu bazy problem był, czyściłem baze a auto_increment jakiś tam zostawał.
Rzeczywiście może zaczne to używać.
SmokAnalog
3.11.2020, 09:27:03
Być może chodziło o to, że po usunięciu rekordów baza wstawiała następne rekordy z kolejnym ID, a nie zaczynała od nowa. Tak to działa - wartość auto increment jest zapamiętywana. Zawsze możesz ją zresetować:
ALTER TABLE `tabela` AUTO_INCREMENT = 1
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.