[ rourke @ 02.04.2006. 13:41 ] @
Pozdrav svima,

Zanima me kako u MySQL-u (v4.1.0) dodati novi slog, ali samo u slucaju da taj slog ne postoji, na sto jednostavniji nacin (ako je moguce)

sastojci_u_receptima
--------------------
id (INT AUTOINC UNIQUE INDEX...)
sastojak_id (jaja 1, so 2, luk 3.....)
kolicina

Napravio sam stranicu koja ubacuje novi slog u tu tabelu (PHP) i tu nemam problema.

Problem nastaje na stranici koja mi sluzi za dodavanje i izmenu slogova. Napravio sam da kada se "edituje" neki recept, vec postojeci sastojci se prikazu na ekranu (jedan combobox za sastojak i jedno edit polje za kolicinu), ali korisnik ima mogucnost da doda klikom na dugme (uz pomoc javascripta) jos tih sastojaka tako da na kraju imam za obradu stare sastojke, plus nekoliko novih.

Sve se to fino spakuje u 2 niza sastojci[] i kolicine[] i samo mi preostaje da uz pomoc INSERT i UPDATE osvezim tabelu: da one vec postojece promenim uz pomoc UPDATE, a da nove dodam uz pomoc INSERT. Eventualno ako je negde uneta 0 za kolicinu, da uz pomoc DELETE obrisem taj sastojak.

Meni je dakle problem kako da ne ubacim 2x isti sastojak (sastojak_id).

Pokusao bih to da resim direktno uz pomoc MySQL-a, bez mesanje php-a i javasrcipta. Nesto sam mislio da uradim najpre jedan SELECT pa da redom ispitujem, ali mozda postoji i bolje resenje. Isto tako mogu izbaciti iz combobox-a vec postojece sastojke na ekranu, ali mozda ce mi to kompilikovati stvari kasnije.

Hvala na pomoci!
[ _owl_ @ 02.04.2006. 16:01 ] @
Mozes da prvo obrises sastojke iz baze za taj recept pa da onda ubacis sve sastojke sa forme.
Pogledaj sintaksuINSERT komande, mozda tamo nadjes nesto korisno.
[ Fedya @ 07.04.2006. 19:30 ] @
S obzirom da imas AUTO INCREMENTAL ID kolonu, jednostavno zapamti ID postojeceg sastojka;
Znaci, ako unos ima ID znaci da je postojeci, treba ga update-ovati a ako ga nema upisi nove
[ ivan jeremic @ 23.06.2006. 08:30 ] @
pogledaj REPLACE INTO naredbu.
[ Fedya @ 23.06.2006. 09:55 ] @
U MS SQL-u ne postoji naredba REPLACE INTO ...
[ CandyMan @ 27.06.2006. 14:38 ] @
Ukoliko ti se primarni ključ u tabeli SASTOJCI_U_RECEPTIMA sastoji od
ID_RECEPT i ID_SASTOJAK neće biti moguće dodati postojeći sastojak u recept, baza će javiti povredu primarnog ključa.
[ _owl_ @ 27.06.2006. 20:24 ] @
Neko od moderatora bi mogao ovu temu da prebaci u MySQL forum (u prvom postu lepo pise da se problem odnosi na MySQL).