Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Połaczyć INSERT z SELECT
pabbito
post
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:
  1. SELECT Kolejnosc FROM Strony WHERE Parent=0 ORDER BY Kolejnosc DESC LIMIT 1;

i chciałbym żeby wynik tego zapytania+1 był wykorzystany w poniższym INSERT'cie
  1. INSERT INTO Strony (Id_Strony, Nazwa, Tytul, Title, Tresc, Aktywna, Parent, Kolejnosc, Haslo, Typ, Menu) VALUES (13, 'Księga Gości', 'Księga Gości', '', 'Księga Gości', 1, 0, <!--o tutaj-->, 0, 0, 1);


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:
  1. SET @p:= (SELECT MAX(Kolejnosc) FROM Strony); INSERT INTO Strony (Id_Strony, Nazwa, Tytul, Title, Tresc, Aktywna, Parent, Kolejnosc, Haslo, Typ, Menu) VALUES (13, 'Księga Gości', 'Księga Gości', '', 'Księga Gości', 1, 0, @p, 0, 0, 1);


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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:11