![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 26.03.2004 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Tym zapytaniem wybieram Stronę o najwyższym numerze kolejnosci:
i chciałbym żeby wynik tego zapytania+1 był wykorzystany w poniższym INSERT'cie
1) Czy da się to zrobić tylko w MySQL, jakimś jednym złaczonym zapyaniem? Jeśli tak to jak? 2) Albo może można przechować wynik SELECT'a w jakiejś zmiennej sql'owej i potem wykorzystać zmienną w INSERT ? Jeśli tak to jak? PS. Nie chodzi mi o rozwiązanie w php. EDIT: Nikt nie odpowiedział, ale szukałem rozwiązania sam i doszedłem do tego:
Tylko teraz mam pytanie: Jak zablokować tabelę Strony żeby w miedzyczasie warość maksymalnej kolejnosci nie uległa zmianie. I drugie pytanie: Od jakiej wersji MySQL działa takie przypisywanie do zmiennej? Ten post edytował pabbito 3.06.2006, 18:22:26 |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 26.03.2004 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Czy tak niezrozumiale zadałem pytanie że nikt nie odpowiada?
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%)
|
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 26.03.2004 Skąd: Gdańsk Ostrzeżenie: (0%)
|
Sprawdziłem że moje rozwiązanie z 'SET' dla MySql 4.0 nie działa.
To o czym piszesz bendi jest prawie ok. Jesli wydam takie zapytanie:
to owszem powstaje nowy rekord w tabeli Strony, który ma pole 'Kolejnosc' równe zwiekszonej o jeden maksymalnej Kolejnosci w tej tabeli. Tylko ja potrzebuje żeby ten rekord który powstaje był od razu uzupełniony jeszcze o inne pola. Dla uproszczenia: chciałbym żeby powstał rekord o Id_Strony równym 13 i by pole Kolejnosc miało zwiększoną o jeden maksymalną Kolejnosc z tabeli Strony. Jak takie coś uzyskać tylko za pomoca zapytań MySQL? (może być kilka) Próbowałem już też taką drogą: utworzyłem nowy rekord z takimi danymi jakie chciałem oprócz tej kolejnosci, a potem chciałem zrobić UPDATE i uzupełnic Kolejnosc o maksymalną+1. Tylko za chiny nie wiem jak przechować tą wartość, żeby potem ją wstawić do update. Ten post edytował pabbito 4.06.2006, 18:07:30 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 26.03.2004 Skąd: Gdańsk Ostrzeżenie: (0%)
|
No więc problem rozwiązałem w ten sposób:
Dzięki bendi za podsunięcie pomysłu. Jak ktoś ma komentarz do tego rozwiązania to proszę śmiało. Dalej nie wiem jak spowodować żeby pomiedzy tymi zapytaniami nikt nie mógł wykonać innych zapytań modyfikujących. |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 401 Pomógł: 5 Dołączył: 14.09.2003 Skąd: Wrocław Ostrzeżenie: (0%)
|
|
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 26.03.2004 Skąd: Gdańsk Ostrzeżenie: (0%)
|
No jasne, że lepiej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Rewelacja! Dokładnie o takie cos mi chodziło. I kręciłem się w kółko obok tego rozwiązania. Nie wiedziałem że w SELECT można wstawiać konkretne wartości, myślałem że tylko poprzez odwołania do pól.
Dzięki serdeczne za pomoc! Nauczyłęm się czegoś nowego:) |
|
|
|
![]() ![]() |
|
Aktualny czas: 22.12.2025 - 16:21 |