ďťż
Podstrony
|
telcocafeNie wiem jak skonstruować zapytanie do bazy tak, żeby sprawdziło, czy rekord o podanych danych istnieje w tabeli (*1) i w zależności od tego czy on istnieje to zaktualizuje go (*2) lub wstawi nowy (*3)*1 SELECT count(*) FROM tbl WHERE UID = {uid} AND AID = {aid}; *2 UPDATE tbl SET Cena = {cena} WHERE UID = {uid} AND AID = {aid}; *3 INSERT INTO tbl VALUES (null, {uid}, {aid}, {cena}); Mam na myśli coś takiego IF (SELECT count(*) FROM tbl WHERE UID = {uid} AND AID = {aid}) > 0 THEN UPDATE tbl SET Cena = {cena} WHERE UID = {uid} AND AID = {aid} ELSE INSERT INTO tbl VALUES (null, {uid}, {aid}, {cena}) END IF {uid}, {aid}, {cena} - jakies dane przekazane z php'a Niestety takie coś nie działa i wyrzuca błąd, a nie chcę do tego angażować php'a bo wg założenia to MySQL ma zająć się tą sprawą A do manuala to sie juz zajrzec nei chce? Zobacz jaka jest konstrukcja IF do twojego uzywa sie CASE A jezeli sie upierasz to uzyj funkcji w mysql ale tutaj kieruje na manual. Tyle, że IF z manuala ma się nijak do tego co potrzebuję. A tego CaSE'a to jak użyć, żeby to działało? Bo jakoś nie mogę sobie jeszcze tego wyobrazić. Przepraszam rozpędziłem się... Case jest do selectów a nei do pytan modyfikujących dane. Do twoje zadania potrzebne jest http://dev.mysql.com...s-defining.html czyli w skrócie "mysqlowe funkcje" Niestety nie pomoge ci w mysql poniewaz uzywam pgsql. Nie wiem jak skonstruować zapytanie do bazy tak, żeby sprawdziło, czy rekord o podanych danych istnieje w tabeli (*1) i w zależności od tego czy on istnieje to zaktualizuje go (*2) lub wstawi nowy (*3) *1 SELECT count(*) FROM tbl WHERE UID = {uid} AND AID = {aid}; *2 UPDATE tbl SET Cena = {cena} WHERE UID = {uid} AND AID = {aid}; *3 INSERT INTO tbl VALUES (null, {uid}, {aid}, {cena}); Mam na myśli coś takiego IF (SELECT count(*) FROM tbl WHERE UID = {uid} AND AID = {aid}) > 0 THEN UPDATE tbl SET Cena = {cena} WHERE UID = {uid} AND AID = {aid} ELSE INSERT INTO tbl VALUES (null, {uid}, {aid}, {cena}) END IF {uid}, {aid}, {cena} - jakies dane przekazane z php'a Niestety takie coś nie działa i wyrzuca błąd, a nie chcę do tego angażować php'a bo wg założenia to MySQL ma zająć się tą sprawą $wynik = mysql_query("SELECT * FROM `tbl` WHERE `UID` = 'uid' AND `AID` = 'aid'"); $ilosc_wierszy=mysql_num_rows($wynik); if (ilosc_wierszy) ==1 { cos tam } else { cos tam } Użytkownik statjacek edytował ten post 10 październik 2008, 20:10 |
|||
Sitedesign by AltusUmbrae. |