Započeo MarkoMX
•17. Mar. 2023.• ZaključanoPitanje
353
pregleda
8
postova
17. Mar. 2023.
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:
Opširnije:
Dodatno:
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,136
Postovi:
10
Teme:
Pridružio se:Maj 2015
17. Mar. 2023.
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.
Napomena: Nisam test tako da query mozda ima greski u sintaksi, ali shvatas poentu.
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.
SELECT * FROM `player_account` JOIN `player_character` ON `player_account`.`id` = `player_character`.`ID` WHERE `player_account`.`mail` = %sNapomena: Nisam test tako da query mozda ima greski u sintaksi, ali shvatas poentu.
Hustler
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
8 / 250 XP
Početnik(1)
99
Postovi:
16
Teme:
Pridružio se:Mar. 2017
17. Mar. 2023.
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
EDIT: Pisem sa main naloga, vratih sifru
Kingpin
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
240 / 250 XP
Početnik(0)
1,136
Postovi:
10
Teme:
Pridružio se:Maj 2015
17. Mar. 2023.
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.
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.
Godfather
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
241 / 250 XP
Početnik(0)
2,043
Postovi:
83
Teme:
Pridružio se:Jan. 2014
25. Mar. 2023.
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.
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.
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava