ďťż
Podstrony
|
telcocafeOstatnio zacząłem używać składni REPLACE. Obsługuje ją zarówno MySQL jak i SQLite.http://www.mysql.org...en/replace.html Teraz myślę, aby w wielu miejscach stosować REPLACE zamiast INSERT oraz UPDATE - np. w modułach edycji artów, plików, bannerów, itd. Czy warto to zrobić? Zaleta jest też taka, że gdy ktoś usunie pozycję, a kto inny ją edytuje, znajdzie się w bazie danych z powrotem. Mam tylko 1 wątpliwość - czy to polecenie nie bywa zawodne. Obawiam się, że SQLite nie skojarzy, że gdy się np. dla pola ID wprowadzi wartość 0 lub "", trzeba je uzupełnić automatycznie. Użytkownik Ferrari edytował ten post 22 lipiec 2007, 22:39 jedno pytanie czy chcesz te rekordy zamienić czy uaktualnić? imho nie do końca rozumiesz sensu korzystania z replace Powiedzmy, że edytujemy sondę. Do tego celu piszemy zapytanie UPDATE. Potem chcemy dodać nową, a do tego piszemy kolejne zapytanie - INSERT. :) Można je zastąpić jednym - REPLACE. Czy to dobre wyjście? Choć i tak trzeba będzie z powodu SQLite nie wysyłać wartości pola ID, gdy dodajemy nowe pole (chyba, że istnieje wspólna komenda dla MySQL i SQLite na wstawienie wartości automatycznie). Jednak zalety - mniej kodu + rekord zostanie dodany ponownie, gdy ktoś go właśnie usunął. Nie wiem, jak z szybkością tego polecenia. W niektórych przypadkach rzeczywiście osobne UPDATE będzie lepsze, gdyż nie wszystkie pola trzeba zmienić. Użytkownik Ferrari edytował ten post 23 lipiec 2007, 07:29 ja bym korzystał z UPDATE, jak dla mnie nadawanie unikalności na klucz główny z autoinkrementacją nie ma sensu :-) , a nadanie unikalności innemu polu mija sie z celem :-) PRIMARY KEY or a UNIQUE index Więc nie trzeba wcale nadawać unikalności. :) Na razie zostanę przy INSERT i UPDATE, choć na próbę użyłem REPLACE w module sondy (zapis odpowiedzi). Ostateczną decyzję podejmę przy wdrożeniu i testowaniu SQLite. :) by bug :) ale i tak nie uzylbym tego do modyfikacji o jakich piszesz :) |
|||
Sitedesign by AltusUmbrae. |