Generator SQL MERGE
Upsert dla czterech dialektów baz danych
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Upsert wstawia nowy wiersz albo aktualizuje istniejący przy konflikcie klucza. PostgreSQL i SQLite używają ON CONFLICT, MySQL — ON DUPLICATE KEY UPDATE, a SQL Server — pełnej instrukcji MERGE. Upewnij się, że kolumny klucza mają unikalny indeks lub klucz główny, inaczej konflikt nie zostanie wykryty.
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator SQL MERGE / UPSERT
Upsert wstawia nowy wiersz albo aktualizuje istniejący — w jednej instrukcji. Każda baza ma inną składnię, więc generator dopasowuje dialekt.
Składnia per dialekt
| Baza | Mechanizm |
|---|---|
| PostgreSQL | INSERT ... ON CONFLICT DO UPDATE |
| SQLite | INSERT ... ON CONFLICT DO UPDATE (od 3.24) |
| MySQL | INSERT ... ON DUPLICATE KEY UPDATE |
| SQL Server | MERGE INTO ... USING ... |
Wymagania
- kolumny konfliktu muszą mieć klucz główny lub unikalny indeks,
- kolumny klucza nie mogą być nadpisywane (poza rzadkimi wyjątkami),
- w SQL Server MERGE wymaga ostrożności — testuj na kopii.
Najczęstsze pytania
Czym różni się MERGE od upsert?
MERGE to ogólna operacja scalania (także DELETE), upsert to wstaw-lub-aktualizuj.
Czy MySQL ma MERGE?
Nie — używa ON DUPLICATE KEY UPDATE.
Jak aktualizować tylko niektóre kolumny?
Usuń je z listy kolumn lub zmień logikę UPDATE w wygenerowanym kodzie.