![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Wiecie jak uzyskac cos takiego:
- jesli istnieje rekord w tabeli to zastosuj: UPDATE - jesli nie istnieje do: INSERT w jednym zapytaniu w mysql 4.1? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 44 Pomógł: 0 Dołączył: 28.07.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
A po co Ci aktualizacja (nadpisanie) istniejącego rekordu?
Moim zdaniem powinny być dwa zapytania: 1. sprawdzającego czy taki rekord istnieje 2. dodający nowy rekord Teraz tak (pseudokod): Jeśli w bazie jest rekord XXX to wyjdz jeśli nie to dodaj |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 848 Pomógł: 0 Dołączył: 7.07.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Cytat A po co Ci aktualizacja (nadpisanie) istniejącego rekordu? Moim zdaniem powinny być dwa zapytania: 1. sprawdzającego czy taki rekord istnieje 2. dodający nowy rekord Tez zaczalem od dwoch zapytan, ale chodzi mi o ten czas miedzy sprawdzeniem a dodaniem (rekord moze powstac) -- dlatego chcialem to zrobic w JEDNYM zapytaniu. Jesli sie nie da to pozostane przy dwoch zapytaniach |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 0 Dołączył: 23.02.2005 Ostrzeżenie: (10%) ![]() ![]() |
Or:
Or:
Cytat REPLACE works exactly like INSERT, except that if an old record in the table has the same value as a new record for a PRIMARY KEY or a UNIQUE index, the old record is deleted before the new record is inserted. Źródło: MySQL Reference Manual. Jeśli rekord, który zechcemy zmodyfikować nie istnieje, to zostanie on dodany, w innym przypadku zmieniony. Pamietać należy o nadaniu odpowiednich indeksów (PRIMARY KEY lub UNIQUE). |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 06:55 |