![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam dość banalne pytanie.
id 1 - 1,1 id 2 - 3,1 id 3 - 1,3 id 4 - 6,1 id 5 - 1,3 id 6 - 1,6 itd pokazałem tutaj pare id w bazie danych i chciałbym żeby przy tworzeniu nowego id automatycznie było przyporzadkowane położenie(x, y) - nie może sie powtarzać. no i żeby to sie układało tak jak to pokazałem. Myślę że oczywistością jest fakt że nie mogę automatycznie zrobić tam ileś id, one będą się musiały tworzyć na bieżąco. Ten post edytował kill15 13.04.2011, 20:59:27 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A jako co masz zapisane to położenie? Jako znaki (char / varchar)? Jeśli tak, to nałóż na kolumnę atrybut unikalny (unique). To spowoduje, że będziesz mieć unikalność.
Co do losowania. Jeśli są to znaki to zrób tak: zmienna1 = losuj liczbę w jakimś zakresie zmienna2 = losuj liczbę w jakimś zakresie polaczenie_zm = zmienna1 + , + zmienna2 Zapisz do bazy polaczenie_zm. Nie napisałeś co to jest za położenie, więc losuje tutaj jakiekolwiek liczby. Ten post edytował IceManSpy 13.04.2011, 21:09:51 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
mam kolumny id, osx i osy(mają one int wszystkie i oczywiście AUTO_INCREMENT) - to jest akurat mało ważne.
czyli muszę Rand losować liczbę (IMG:style_emoticons/default/questionmark.gif) to się znowu by wiązało z warunkami dodatkowymi żeby za daleko od siebie liczby nie były. no i musiał bym zrobić tak jak mówisz łączyć to w varchar a nie int. Czy nie ma jakiegoś sposobu w którym nie musiałbym robić tych warunków /? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
osx i osy też jest autoincrement?Jak tak, no to chyba źle to jest zrobione. ID może być autoincrement.
No niestety musisz jakoś losować liczby. Możesz zostawić inty, ale wtedy losujesz dla X i dla Y, a potem sprawdzasz, czy nie ma rekordu o takiej parze. Jak nie, to wrzucasz do bazy, jak jest to losujesz od nowa. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 184 Pomógł: 14 Dołączył: 21.12.2010 Ostrzeżenie: (0%) ![]() ![]() |
nie. tam miałem napisać że id jest oczywiście AUTO_INCREMENT
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 006 Pomógł: 111 Dołączył: 23.07.2010 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
To podałem CI możliwości, jak to zrobić. Co wybierzesz i jak to zoptymalizujesz, to już Twoja decyzja (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.09.2025 - 10:53 |