Pitanje

Započeo MarkoMX, Mart 17, 2023, 19:11:08 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 2 gostiju pregledaju ovu temu.

Pitanje/savjet: Pravim databazu i hocu da je podelim na dve table player_account i player_character. Da u jednu ide ID,mail,lozinka a u drugu skin, pol i tako dalje. Eh sad zanima me kako da spojim te dve tabele tj kako se to radi u PAWNu isto preko Join?
Opširnije:
Dodatno:

Ovako, mozda neke stvari znas, mozda ne, ja cu napisati svejedno (jbg ima previse ljudi ovde da ne znaju ni principe programiranja a i ne zele da ih nauce).

Prvo ID je to sto ih povezuje. Tako da kad kreiras account kreiras i ID (obicno stavis Auto Increment i index u tabeli, i mysql sam kreira pa ti vrati taj id), kada insertujes skin, pol, itd, koristis ID accounta za koji to vazi.
E sad kada selectujes imas 2 opcije, prva je da posaljes dva queria, jedan da ti vrati ID za account, a drugi da select sta ti treba za character. Drugi nacin je kako si ti spomenuo JOIN opet koristeci ID.

[pawn]SELECT * FROM `player_account` JOIN `player_character` ON `player_account`.`id` = `player_character`.`ID` WHERE `player_account`.`mail` = %s[/pawn]
Napomena: Nisam test tako da query mozda ima greski u sintaksi, ali shvatas poentu.


//
Poslednja Izmena: Mart 17, 2023, 22:13:48 POSLE PODNE od Borelli

Znači, u obe tabele mora biti ID, u prvoj to da bude AUTO INCREMENT i Primary key dok u drugoj da bude foreign key. A kada insertujem nešto u drugu tabelu player_character moram da koristim query koji si poslao da ih poveze
EDIT: Pisem sa main naloga, vratih sifru

Ne query koji sam poslao iznad je select koji uzima sve iz obije tabele gde je ID isti.

Foreign key je ispravno da se stavi i ima dosta benefita ali nije obavezno.

Za insert ces morati 2 queria da saljes. Prvi u account pa da ti on vrati ID (koristis cache_insert_id da ucitas). Drugi naravno u character koristeci id koji si dobio.

Hvala na smernicama i tvom vremenu, shvatio sam pola ostalo cu nekako sam

Primarni i spoljni kljuc, join je svakako bolja opcija od 2 uzastopna querya.

U drugoj tabeli sa karakterima svakako imas primarni kljuc za tu tabelu, ali i spoljni kljuc tabele accounts. Jednostavno u sklopu selekovanja u accounts queryu joinaj sve redove characters tabele koje imaju id accounta od tog korisnika, i to je manje vise to, ostatak mozes handleovati u istoj funkciji.

Koristi se relacijama, u 2023 je sramota takvo nesto zaobici.