![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 2 Dołączył: 17.07.2014 Skąd: Wielkopolska Ostrzeżenie: (0%) ![]() ![]() |
Witam
Potrzebuję napisać zapytanie, które masowo zmieni rekordy. Tzn.: Tabela: id|cena|inne pola ------------------- 1|1001|coś tam 2|1111|coś tam 3|4041|coś tam 4|1561|coś tam 5|1067|coś tam 6|4565|coś tam 7|5575|coś tam 8|5643|coś tam 9|5545|coś tam 10|5643|coś tam I teraz chcę za pomocą jednego zapytania ("chodzi o jedno wywołanie kodu mySQL w PHP) zrobić: 5|451|... 8|2351|... czyli coś jakby: UPDATE tabela SET cena=2351 WHERE id=8 AND cena=451 WHERE id=5 ale wiem, że nie zadziała mi mój kod. Możecie podpowiedzieć mi jak go przerobić? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 655 Pomógł: 73 Dołączył: 2.05.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli chcesz zmienić rekordy które posiadają takie samo pole, np. 'coś tam' na 'coś tam 2' to proste zapytanie:
update tabela set `inne_pola`='coś tam 2' where `inne_pola`='coś tam'. w innym wypadku powiedz co konkretnie chcesz zmienić. Jezeli chcesz ustawić różne wartości, róznym polom no to musisz mieć kilka zapytać. Może coś z pętlami i warunkami. Daj więcej konkretów. -------------------- Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.
Fachowo.co Behance.net/fachowo |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Dlaczego koniecznie chcesz to zrobić jednym zapytaniem? Da się, ale w bardzo niewygodny sposób. Lepiej zrobić to "normalnie", tj. przygotować zapytanie, rozpocząć transakcję, zaktualizować każdy rekord z osobna i zakończyć transakcję:
Prosto, łatwo i względnie szybko. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 67 Pomógł: 2 Dołączył: 17.07.2014 Skąd: Wielkopolska Ostrzeżenie: (0%) ![]() ![]() |
Ok. A przy okazji mam jeszcze taki problem:
Mam tabele stanymagazynowe id,produkt,sztuk,magazyn i wpis z kolejno wartościami: 2,256,5,4 teraz chcę żeby 2 sztuki zostały przesłane do magazynu 10 czyli chcę mieć: 2,256,3,4 3,256,2,10 a jeżeli w magazynie 10 jest już jakiś produkt z tym id 256 to żeby zwiększyło ilość jego sztuk o te 2 z magazynu 10 jak napisać takie zapytanie SQL? w php wiem, ale chcę przenieść wszystko na sql, bo muszę używać tylko sql na studiach |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 11:13 |