Robię dośc skomplikowane obliczenia z wielu tabel, i czasem skrypt się kończył zanim zdążyłem wszystko policzyć.
Dodałem zatem nową kolumnę: nowy, gdzie dla każdego nowo obliczonego wiersza wpisuję 1, gdy już skończę wszystkie obliczenia kasuje wszystkie wiersze gdzie nowy = '0' i robie update na nowy = '0' tam gdzie jest jeden. W ten sposób rozwiązałem, że skrypt może się zawsze zakończyć a ja i tak będę czytał tylko poprawne wartości.
Problem występuje, gdy chcę coś przenieść z nowy = '0' do nowy = '1'.
Struktura tabeli:
uzytkownik (char (20))
jakies_pole (int (11))
nowy (int (1))
W tabeli mam użytkowników z polem nowy = '0'
Następnie wpisuję użytkowników do bazy, każdy z nowy = '1'
I teraz chcę skopiować wartość `jakies_pole` z nowy = '0' do nowy = '1' odpowiednio dla każdego użytkownika.
Próbowałem takiego tworu:
UPDATE db.TABLE SET jakies_pole = jakies_pole WHERE db.TABLE.uzytkownik = db.TABLE.uzytkownik AND nowy = '1'
Niestety nie działa.
Czy w ogóle da się to jakoś wykonać w jednym zapytaniu ?
Pozdrawiam