![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 133 Pomógł: 6 Dołączył: 26.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Mam ciągle jeden ten sam problem i nigdzie nie mogę znaleźć ani odpowiedzi a także rozwiązania.
Cytat Mając przykładowo tabele : ID|NAZWA| PUNKTY ---------------------- 1 | DATA1 | 0 2 | DATA2 | 0 3 | DATA3 | 0 4 | DATA4 | 0 Wykonuje pętle
Wrzucam je do bazy przy pomocy funkcji oraz switcha:
Ktoś może zna na to jakiś sposób?bo puki co mój zawsze robi update tylko ostatniego ID |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Tu chodzi o to, że nie ma w języku SQL takiej formy jak update jednym zapytaniem wielu rekordów nadając im różne wartości. Można jedynie wiele rekordów tymi samymi danymi i wtedy właśnie używa się WHERE id IN (numerki) bo wtedy wszystkie wymienione ustawiają się na podany w zapytaniu. Jeśli chcesz nadawać i m różne wartości to albo musisz pogrupować je po tych wartościach i wykonać tyle zapytań ile jest różnych wartości (czyli ileś rekordów, które ustawiasz na 5 poleci jednym zapytaniem, a ileś które ma mieć 9 poleci innym), albo wykonać update dla każdego rekordu oddzielnie. Po prostu nie da się inaczej, bo tego SQL nie przewiduje i nigdy nie przewidywał, choć dla niektórych byłoby to wygodne.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 15:33 |