Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: ★ OneZero ★ poslato Januar 22, 2020, 23:41:54 POSLE PODNE

Naslov: MySQL update
Poruka od: ★ OneZero ★ poslato Januar 22, 2020, 23:41:54 POSLE PODNE
Problem(error/warning): Iskreno bilo mi je dosadno pa mi je palo na pamet da bi mogao prebaciti jedan stari mod u MySQL. Do sad sam radio sa SQL i C# na windows aplikacijama i smatram da ovo ne bi trebalo biti problem (valjda). Bio bih zahvalan kad bi ostavili neke savjete kako dobiti najbolje performanse, neke stvari na koje bi bilo dobro obratiti pažnju, možda neki dobar tutorial/video koji je vama pomogao oko mysql. Kad sam već tu imam i jedno pitanje.... Razmišljao sam da kod kuća, stanova (sve imovine) koristim ID kao poveznicu sa igračem. Znači da igrač ima stupac "Kuca" koji je povezan sa stupcem ID u tablici "Kuce", ako me kužite što želim reći. Ako stavim ID na auto increment onda će sve biti ok dok kreiram kuće, no problem nastane kad obrišem neku kuću jer se auto increment ne resetira, nego samo nastavlja dalje. Razmišljao sam da jednostavno napravim brojač u skripti, no vjerujem da ima boljeg i efikasnijeg načina. Radujem se vašim odgovorima :)
Dio skripte: [ pawn ]// [ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]// [ /code ]
Slika/video ingame problema(obavezno ako je ingame problem):
Naslov: Odg: MySQL update
Poruka od: MEDO poslato Januar 23, 2020, 16:37:26 POSLE PODNE
Savijet - Uvijek imaj ID koji je primary key i AI, pa tamo dodajes kasnije ostale stvari, id igrača za povezivanje i slično, jer šta god budeš radio s nečim u bazi moraš da imaš neku identifikaciju objekta i ID kao prva ti je najbolja stvar, hoces da editaš kucu imas ID, da obrises usera imas ID, šta god da radiš imaš taj ID po kojem se mozes nositi. Bazu čak i ne mozes editati ako nema primary key, tako da se opet vracam na ID, postaviš njega kao primary key i ne jebeš se. Ako te jos nesto interesuje javi :D
Naslov: Odg: MySQL update
Poruka od: ★ OneZero ★ poslato Januar 23, 2020, 18:53:45 POSLE PODNE
Citat: MEDO poslato Januar 23, 2020, 16:37:26 POSLE PODNE
Savijet - Uvijek imaj ID koji je primary key i AI, pa tamo dodajes kasnije ostale stvari, id igrača za povezivanje i slično, jer šta god budeš radio s nečim u bazi moraš da imaš neku identifikaciju objekta i ID kao prva ti je najbolja stvar, hoces da editaš kucu imas ID, da obrises usera imas ID, šta god da radiš imaš taj ID po kojem se mozes nositi. Bazu čak i ne mozes editati ako nema primary key, tako da se opet vracam na ID, postaviš njega kao primary key i ne jebeš se. Ako te jos nesto interesuje javi :D

Kužim što želiš ovime reći i znam da je "good practice" koristiti ID kao što si i ti opisao. Sa recimo users sve ok, ali razmišljam o kućama. Što ako moram izbrisati neku kuću jer poslije shvatim da mi ne treba kuća na tom mjestu. Primjer. Imam 500 kreiranih kuća i izbrišem kuću sa ID 123 Auto Increment će nastaviti brojiti 501,502, uopće neće znati da nema id 123. Iako to ne bi trebao biti problem. Moguće da će u jednom od milijun slučaja taj id koji fali zapravo nešto pokvariti. Zanima me postoji li način da se nekako pročita id koji fali ili jednostavno moj ocd mora živjeti s tim? :D
Naslov: Odg: MySQL update
Poruka od: xLanmi poslato Januar 23, 2020, 19:57:19 POSLE PODNE
SQL Koristis da izracunas koji je ID slobodan i ako je auto increment moguce je upisati vrednost u to ili koristis Iteratore :)
A mozes i preko for petlje da prodjes kroz ucitane kuce i vidis koja kuca ima kao naprimer
kSQLID == 0 ) return i;
I resis posao :) 
Naslov: Odg: MySQL update
Poruka od: yeet poslato Januar 23, 2020, 21:06:01 POSLE PODNE
Ja takoder sam poceo da ucim MySql i mogu rec da mi za sad ide okej jos nisam trazio pomoc sto se tice samog prebacivanja moda u mysql from Yini/Dini.. meni osobno je pomogao kurs https://www.youtube.com/watch?v=7S_tz1z_5bA&t=1213s (https://www.youtube.com/watch?v=7S_tz1z_5bA&t=1213s) naravno neucis sto se tice sampa ali naucis fukcije tako da eto moj prijedlog...
Naslov: Odg: MySQL update
Poruka od: ★ OneZero ★ poslato Januar 23, 2020, 21:41:12 POSLE PODNE
Citat: LANMY.pwN poslato Januar 23, 2020, 19:57:19 POSLE PODNE
SQL Koristis da izracunas koji je ID slobodan i ako je auto increment moguce je upisati vrednost u to ili koristis Iteratore :)
A mozes i preko for petlje da prodjes kroz ucitane kuce i vidis koja kuca ima kao naprimer
kSQLID == 0 ) return i;
I resis posao :) 


Uopće nisam razmišljao da upišem vrijednost u ID stupac sa auto incrementom.....Ponekad ti najjednostavnije stvari ne padnu na pamet  ::)
Ne želim koristiti for kroz sve kuće jer pokušavam napraviti sve čim optimiziranije, a mislim da takva for petlja ne govori baš optimizacija  :D

Citat: Leʞรa poslato Januar 23, 2020, 21:06:01 POSLE PODNE
Ja takoder sam poceo da ucim MySql i mogu rec da mi za sad ide okej jos nisam trazio pomoc sto se tice samog prebacivanja moda u mysql from Yini/Dini.. meni osobno je pomogao kurs https://www.youtube.com/watch?v=7S_tz1z_5bA&t=1213s (https://www.youtube.com/watch?v=7S_tz1z_5bA&t=1213s) naravno neucis sto se tice sampa ali naucis fukcije tako da eto moj prijedlog...

Na prvi pogled, video se čini super, vjerujem da je u ta 3h objašnjeno i dosta advanced tehnika tako da će u svakom slučaju dobro doći. Pogledat ću ga čim stignem, hvala na prijedlogu.

Ako još netko ima neki prijedlog, ideju kako da mod, a i mysql server budu brzi/responzivniji slobodno pišite.


Naslov: Odg: MySQL update
Poruka od: yeet poslato Januar 23, 2020, 21:53:39 POSLE PODNE
Citat: ★ OneZero ★ poslato Januar 23, 2020, 21:41:12 POSLE PODNE
Uopće nisam razmišljao da upišem vrijednost u ID stupac sa auto incrementom.....Ponekad ti najjednostavnije stvari ne padnu na pamet  ::)
Ne želim koristiti for kroz sve kuće jer pokušavam napraviti sve čim optimiziranije, a mislim da takva for petlja ne govori baš optimizacija  :D

Na prvi pogled, video se čini super, vjerujem da je u ta 3h objašnjeno i dosta advanced tehnika tako da će u svakom slučaju dobro doći. Pogledat ću ga čim stignem, hvala na prijedlogu.

Ako još netko ima neki prijedlog, ideju kako da mod, a i mysql server budu brzi/responzivniji slobodno pišite.




vjeruj mi bolje da sjednes za komp stavis slusalice i slusas sta on govori nemoras zapravo ni gledat jer vecina sta je u videu su rijeci sta covjek govori ostalo je sama praksa neces ti naucis nista preko noci praksa je glavna dakako samo naprijed :)
Naslov: Odg: MySQL update
Poruka od: ★ OneZero ★ poslato Januar 23, 2020, 23:01:13 POSLE PODNE
Citat: Le%u029E%u0E23a poslato Januar 23, 2020, 21:53:39 POSLE PODNE
vjeruj mi bolje da sjednes za komp stavis slusalice i slusas sta on govori nemoras zapravo ni gledat jer vecina sta je u videu su rijeci sta covjek govori ostalo je sama praksa neces ti naucis nista preko noci praksa je glavna dakako samo naprijed :)

Ma i sam znam da je sve u praksi, samo ne volim kad nešto radim na pola. Vjerujem da je video općenito o samom radu u SQL, a ne i o optimizaciji (možda griješim..)Trenutno nemam znanje o optimizaciji i poslije ću se morati vraćati i popravljati što nije optimizirano pa bih volio sad ćuti savjete, prije nego zapravo počnem prebacivati cijeli mod
Naslov: Odg: MySQL update
Poruka od: yeet poslato Januar 24, 2020, 01:08:15 PRE PODNE
Citat: ★ OneZero ★ poslato Januar 23, 2020, 23:01:13 POSLE PODNE
Ma i sam znam da je sve u praksi, samo ne volim kad nešto radim na pola. Vjerujem da je video općenito o samom radu u SQL, a ne i o optimizaciji (možda griješim..)Trenutno nemam znanje o optimizaciji i poslije ću se morati vraćati i popravljati što nije optimizirano pa bih volio sad ćuti savjete, prije nego zapravo počnem prebacivati cijeli mod

Stara izreka ... na greskama se uci :)