Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 207 Pomógł: 0 Dołączył: 7.09.2010 Ostrzeżenie: (0%)
|
Witam.Otóż jak najktuczeniej i najoptymalniej posortować i zmienić id wedłóg daty mam np.
tabela1 ---------------- id |time|name ----------------- 1|2011-10-01 ---------------- 2|2012-10-01 ---------------- 3|2011-09-01 ---------------- aby tabela po sortowaniu zrobiła się na UPDATE: tabela1 ---------------- id |time|name ----------------- 1|2012-10-01 ---------------- 2|2011-10-01 ---------------- 3|2011-09-01 ---------------- Poprosti id zmienił się wedłóg najnowszej daty,i chciałbym to zrobić dla 3 tabel na raz(jeśli da radę a jeśli nie to może być dla jednej) w miare optymalnie . Wiem jak wyciągnąć rekordy wedłóg najnowszej daty,ale niewiem jak najskuteczniej zmienić te id wedłóg tego i odrazu zapisać.Próbuje coś takiego:
Ale edytuje mi wszystkie id na najnowszy czas Proszę o pomoc Ten post edytował szypi1989 25.03.2012, 11:05:03 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%)
|
Wykonaj to zapytanie dwukrotnie, przy czym najpierw ustaw dużą wartość zmiennej @i (wartość ostatniego id w tabeli + 1).
Inaczej chyba nie da się tego zrobić, ponieważ `id` jest w tej tabeli kluczem głównym i bez zastosowania powyższej sztuczki zawsze któryś z wierszy (a dokładniej któraś z wartości id) będzie się powtarzać, co skutkuje wspomnianym błędem. EDIT1: Swoją drogą takich rzeczy raczej się nie robi. Jednak da się to zrobić inaczej:
EDIT2: Pamiętaj, aby testować zapytania na kopii danych, bo nigdy nie wiadomo, czy wszystko pójdzie dobrze. Np. nie jestem pewien, jak się zachowa drugie zapytanie w sytuacji, gdy któryś z rekordów wcześniej został usunięty. Ten post edytował mortus 25.03.2012, 15:26:22 |
|
|
|
szypi1989 Sortowanie wedłóg czasu i zmiana id wedłóg najnowszej daty 25.03.2012, 09:07:38
mortus Najpierw[SQL] pobierz, plaintext SET @i = 0;[SQL] ... 25.03.2012, 11:06:16
szypi1989 ok.działa.Ale zauważyłem że wykonuje mi od następn... 25.03.2012, 13:16:50
szypi1989 chyba coś jest w tym zapytaniu źle,ponieważ występ... 25.03.2012, 19:59:35
mortus No w powyższym zapytaniu dopisałem [, ...] oznacza... 25.03.2012, 20:04:54
szypi1989 usunełem te kolumny oczywiście już odrazu,jednak d... 25.03.2012, 20:18:12 ![]() ![]() |
|
Aktualny czas: 26.12.2025 - 18:27 |