Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL] Tworzenie tabeli, primary key i inne
Capellini
post
Post #1





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 16.10.2007

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


Nie jestem zbyt doświadczony jeżeli chodzi o MySQL dlatego proszę Was o radę. Chciałbym stworzyć tabelę, w której będą przechowywane dane na temat graczy w pewną grę. Tabela ta będzie miała 4 albo 5 pól:
-> ID gracza,
-> nazwa gracza,
-> hasło gracza,
-> wynik gracza,
-> ew. miejsce gracza w rankingu.

Zastanawiam się, któremu z tych pól mam ustawić Primary Key. Chyba powinno być to ID, ale chciałbym żebym mógł także szybko odszukiwać graczy o najwyższych wynikach więc chciałbym, żeby ci gracze byli posortowani jakoś wg miejsca w rankingu. I jeszcze jedno pytanie - czy można jakoś ustawić tak, żeby pole określające miejsce gracza w rankingu automatycznie ustawiało się wg wyniku, tzn. żebym przy zmianie wyniku jakiegoś gracza, nie musiał zmieniać miejsca w rankingu danego gracza?

Ten post edytował Capellini 14.06.2009, 13:02:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Capellini
post
Post #2





Grupa: Zarejestrowani
Postów: 70
Pomógł: 0
Dołączył: 16.10.2007

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


Cytat
kolejność ustalisz przy wywoływaniu z bazy na pomocą ORDER BY cos DESC ew ASC


W takim razie pole Miejsce można by wyrzucić, ale potrzebuję jeszcze, żeby można było szybko określić miejsce gracza mając ID gracza więc musi zostać, tylko że tutaj pojawia się jeszcze jeden problem z tym miejscem. Gdy dodaję nowego gracza, to wcale nie musi on od razu być na ostatnim miejscu, bo jest możliwe, że inni gracze mają wynik ujemny i wtedy musiałbym powiększać o 1, miejsce w rankingu każdemu, co jest pod tym nowym. Czy jest jakieś inne wyjście niż to powiększanie każdemu miejsca o 1?

Cytat
a jako key daj:
->ID gracza,
-> nazwa gracza,
-> hasło gracza,

bo to są pola obowiązkowe


Czyli primary key ustawia się polom, które są obowiązkowe? Właściwie to pole wynik i miejsce też są obowiązkowe więc też mam im ustawić primary key?

Ten post edytował Capellini 14.06.2009, 13:21:40
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 11:03