Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z podzapytaniem SELECT w zapytaniu INSERT
mateii
post 19.09.2006, 19:24:31
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.09.2006

Ostrzeżenie: (0%)
-----


Witam, mam wielki problem zastosowaniem podzapytania SELECT w zapytaniu głównym INSERT.
Proszę o naprowadzenie mnie na odpowiedni trop na poniższym prostym przykładzie.

Dana jest jedna tabelka o nazwie test i składa sie z dwóch kolumn:
id | nr

chciałbym wprowadzic nowa pozycje do tej tabeli poprzez takie zapytanie:
  1. INSERT INTO test (id,nr) VALUES (NULL, (SELECT MAX(nr) FROM test) +1)


Proszę o podpowiedź.. dlaczego powyższe zapytanie nie działa? Sprawdzałem na różne sposoby.
Bez tego +1 też i nic. Działa mi tylko w przypadku gdy w tym podzapytaniu zamiast "FROM test"
podam jakąś inną tabelę. Ja niestety potrzebuję dodać pozycję nr zwiększoną o 1 z tej samej tabeli.
Czy można w podzapytaniu dla SELECT użyć tej samej tabeli??

auto_increment mnie tu nie zadowala gdyż w docelowym kodzie w kolumnie nr będą
występować luki w numeracji i chciałbym zrobić zwiększanie o 1 ręcznie.
Go to the top of the page
+Quote Post
dr_bonzo
post 19.09.2006, 19:36:46
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

Ostrzeżenie: (0%)
-----


Chyba musisz nadac inna nazwe tabeli (uzyc aliasu dla `test` w jednym z dwoch miejsc)


--------------------
Nie lubię jednorożców.
Go to the top of the page
+Quote Post
Skobi
post 19.09.2006, 19:50:54
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


a moze to Ci zalatwi sprawe:

http://dev.mysql.com/doc/refman/4.1/en/insert-select.html
Go to the top of the page
+Quote Post
mateii
post 19.09.2006, 20:22:56
Post #4





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.09.2006

Ostrzeżenie: (0%)
-----


No i wyczytałem, że jednak się nie da w podzapytaniu skorzystać z tej samej tabeli mimo że używam
mySQL 5.x. W takim razie mam problem ;-) muszę rozwikłać podpowiedź z manuala i jakoś to rozwiązać.
Wszelkie porady mile widziane.
Dzięki za pomoc.
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 14:33