Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Primary key zawsze od 1.
Forum PHP.pl > Forum > Bazy danych > MySQL
krzysiu99995
Witam, mam pytanie które poprę przykładem. Załóżmy że w tabeli są takie rekody.

ID | Coś
1 | a
2 | b
3 | c
4 | d.

I teraz podczas dodawania rekordu, ID będzie zawsze +1 jako primary key. Czy jest jakaś możliwość ustawienia w bazie, żeby po usunięcie rekordu ID 2, następny rekord wypełniał to ID?
Tak aby zawsze były rekordy od 1 w górę.
viking
Jest ale poczytaj o integralności danych, kluczach obcych bo nie bez powodu to działa w ten sposób.
webdice
Wybij sobie taki głupi pomysł z głowy. Poszukaj na forum, było wiele razy.
krzysiu99995
Szukam i nie mogę nic ciekawego znaleźć. Muszę zrobić losowanie cytatu z bazy na dany dzień, umieściłbym więc 30 cytatów od 1 do id 30 i bym wyświetlał to id jaki mamy dzień. Ale gdy już usunę jakiś cytat poprzez mój skrypt i dodam nowy, to będzie 31,32,33, a np. 4,5,6 w ogóle nie będzie. Nie wiem co zrobić.
webdice
W MySQL jest funkcja RAND.
krzysiu99995
Też nad tym myślałem, ale zależy mi na tym aby każdy użytkownik widział ten sam cytat w dany dzień.

Wielkie dzięki za okazaną pomoc. smile.gif
webdice
Losujesz rekord za pomocą MySQL RAND i przetrzymujesz go w bazie przez cały dzień, a jeśli masz już rekord to dla każdego robisz:

  1. SELECT * FROM `cytaty` WHERE `id` = ( SELECT `id` FROM `tabela_z_zapisanym_id` )


PS. RAND jest dość wolne, choć w Twoim wypadku nie ma to znaczenia. Poczytaj sobie jak zastąpić RAND.
krzysiu99995
Chciałem uniknąć tego, ale ok.


Dzięki wielkie. zakochany.gif
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.