Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UPDATE i INSERT ... optymalizacja
Forum PHP.pl > Forum > Bazy danych > MySQL
MiChaSSs
Hej,
Mam taka tabele:
  1. kolumna_a | kolumna_b
  2. 1 | 1

potrzebuje nowe dane dorzucac do bazy, a istniejace tylko aktulizowac. Aby to robic konstruuje zapytania UPDATE i INSERT, dla przykladu:
  1. UPDATE `nazwa_tabeli` SET `kolumna_a` = '1' WHERE `kolumna_b`= '1';
  2. oraz
  3. INSERT INTO `nazwa_tabeli` (`kolumna_a`, `kolumna_b`) VALUES('1', '1');

zapytania wysylam do bazy w ten sposob:
  1. if(!mysql_query($update_query, $mysql_connection))
  2. {
  3. echo(date('Y-m-d H:i:s').' -> Can\'t send MySQL query -> '.mysql_error()."\n");
  4. }
  5. elseif(mysql_affected_rows() == 0)
  6. {
  7. if(!mysql_query($insert_query, $mysql_connection))
  8. {
  9. echo(date('Y-m-d H:i:s').' -> Can\'t send MySQL query -> '.mysql_error()."\n");
  10. }
  11. }


i tutaj pojawia sie problem ... Przy takich zapytaniach jakie podalem w przykladzie po wykonaniu zapytania UPDATE .... mysql_affected_rows() zwraca wartosc 0 (no bo niczego nie UPDATE-owal bo dane w tabeli pozostaly takie same) i niepotrzebnie wykoniuje sie zapytanie INSERT i wtedy MySQL sie burzy (i slusznie smile.gif). Jak zrobic, zeby MySQL "orientowal" sie ze wpis taki juz jest i INSERT jest niepotrzebny, pozdrawiam Michal smile.gif
MiChaSSs
dziekuje winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.