![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 293 Pomógł: 4 Dołączył: 28.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zdrastwujcie riebiata !
Mam miłe zapytanie dotyczące MySQL. Załóżmy że mamy tabelę o nazwie "kotki" a w niej wartości ID IMIĘ 1 xx 2 xx Teraz chce zmienić imię rekordu nr 2. Wykonujemy Update xxx set xxx='ala' where xxx = id = 2; if zapytanie = 1 then { zmieniono pomyslnie} else { insert into kotki id=2,imie='ala } Czy nie da się już w jednym zapytaniu SQL połączyć Update, on error insert new ? Jeżeli istnieje taki rekord, to update, jezeli nie to insert. Tylko żeby upakować to w ramach optymalizacji do jednego "query" (IMG:style_emoticons/default/smile.gif) pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 173 Pomógł: 121 Dołączył: 24.09.2007 Skąd: Toruń Ostrzeżenie: (0%) ![]() ![]() |
Sprawdź najpierw czy istnieje taki rekord przy pomocy mysql_num_rows, jeżeli niema to dodaje do bazy jeżeli jest to aktualizuje. Pozatym Twoje zapytanie dziwnie wygląda, powinno być tak:
A nie tak jak Ty miałeś, bo Twoje zapytanie jest błędne. Kolejne pytanie dlaczego sam ustalasz numer ID? Wydaje mi się że w jednym zapytaniu tego nie upchasz, najpierw musisz sprawdzić czy istnieje taki rekord w bazie, poźniej zrobić update lub insert osobnym zapytaniem. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.10.2025 - 19:29 |