Mich4
(Mich@l)
19 Maj 2009 10:26
#1
Witam, wszystkich jest to mój pierwszy post i chciałem wszystkich serdecznie pozdrowić.
Mam następujące pytanie - w jaki sposób można wykonać zapytanie:
Tabela do której chce wykonać insert zawiera kolumny ID(auto increment) oraz Nazwa
Insert into Tabela Nazwa values (podzapytanie zwracające kilka wierszy)
Generowany jest błąd ponieważ podzapytanie zwraca mi kilka wierszy i nie wiem czy można to ominąć samym MySQL’em.
Przypuszczam że jednym insertem wstawienie kilku rekordów jest niemożliwe.
Pozdrawiam!
Trance
(Trance)
19 Maj 2009 10:39
#2
myślę że możesz spróbować wykonać to w następujący sposób:
wyniki zapytania (u Ciebie (podzapytanie zwracające kilka wierszy)) umieszczasz w tablicy, a następnie w pętli w poprzez Insert umieszczasz poszczególne rekordy w bazie…
_alex
([alex])
19 Maj 2009 10:42
#3
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [iGNORE]
[iNTO] tbl_name [(col_name,…)]
SELECT …
inserts new rows into an existing table.
brakuje nawiasów okrągłych wokół Nazwy oraz nie potrzebna klauzula values, powinno być:
insert into Tabela (Nazwa) select …
Mich4
(Mich@l)
19 Maj 2009 11:13
#4
":gtfg3tub]INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [iGNORE] [iNTO] tbl_name [(col_name,…)] SELECT … inserts new rows into an existing table. brakuje nawiasów okrągłych wokół Nazwy oraz nie potrzebna klauzula values, powinno być: insert into Tabela (Nazwa) select …
Faktycznie usunięcie nawiasów i klauzuli values zadziałało - dzięki wielkie!
Pozdrawiam!