Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z podzapytaniem SELECT w zapytaniu INSERT
Forum PHP.pl > Forum > Bazy danych > MySQL
mateii
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.
dr_bonzo
Chyba musisz nadac inna nazwe tabeli (uzyc aliasu dla `test` w jednym z dwoch miejsc)
Skobi
a moze to Ci zalatwi sprawe:

http://dev.mysql.com/doc/refman/4.1/en/insert-select.html
mateii
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.