Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Primary key zawsze od 1.
krzysiu99995
post 30.12.2012, 13:29:04
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 27.11.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
viking
post 30.12.2012, 13:49:51
Post #2





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Jest ale poczytaj o integralności danych, kluczach obcych bo nie bez powodu to działa w ten sposób.


--------------------
Go to the top of the page
+Quote Post
webdice
post 30.12.2012, 14:10:05
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Wybij sobie taki głupi pomysł z głowy. Poszukaj na forum, było wiele razy.
Go to the top of the page
+Quote Post
krzysiu99995
post 30.12.2012, 14:25:47
Post #4





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 27.11.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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ć.
Go to the top of the page
+Quote Post
webdice
post 30.12.2012, 14:34:47
Post #5


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




W MySQL jest funkcja RAND.
Go to the top of the page
+Quote Post
krzysiu99995
post 30.12.2012, 14:37:54
Post #6





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 27.11.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
webdice
post 30.12.2012, 14:41:17
Post #7


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




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.
Go to the top of the page
+Quote Post
krzysiu99995
post 30.12.2012, 14:51:52
Post #8





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 27.11.2010
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Chciałem uniknąć tego, ale ok.


Dzięki wielkie. zakochany.gif
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: 26.04.2024 - 21:30