Insert into Probleme
am 13.02.2006 13:26:55 von Herby
Hi,
Ich möchte aus Tabelle import die Url für das Bild übernehmen und in Tabelle
produkte einfügen wenn beide Artikelnummern der Tabellen übereinstimmen.
mein SQL-Befehl:
INSERT INTO produkte( image )
SELECT import.bildurl
FROM import
WHERE produkte.products_model = import.artikelnummer
aber MySQL meldet:
#1109 - Unknown table 'produkte' in where clause
was mache ich falsch - Tabelle produkte existiert sicher.
auch versucht:
INSERT INTO produkte( image )
SELECT import.bildurl
FROM import , produkte
WHERE produkte.products_model = import.artikelnummer
aber:
#1066 - Not unique table/alias: 'products'
wenn ich das jedoch nur als select Anweisung ausführe dann klappts:
SELECT import.bildurl
FROM import , produkte
WHERE produkte.products_model = import.artikelnummer
mfg
H. Ziep
Re: Insert into Probleme
am 13.02.2006 13:33:56 von Dirk Brosowski
Herby schrieb:
> Hi,
>
> Ich möchte aus Tabelle import die Url für das Bild übernehmen und in Tabelle
> produkte einfügen wenn beide Artikelnummern der Tabellen übereinstimmen.
>
> mein SQL-Befehl:
> INSERT INTO produkte( image )
> SELECT import.bildurl
> FROM import
> WHERE produkte.products_model = import.artikelnummer
Das WHERE bezieht sich hier auf das SELECT und in dem FROM des SELECT
steht keine Tabelle produkte.
MfG
Dirk
Re: Insert into Probleme
am 13.02.2006 14:01:44 von Herby
> Das WHERE bezieht sich hier auf das SELECT und in dem FROM des SELECT
> steht keine Tabelle produkte.
Ok, dann ist klar warum der 1. Versuch nicht klappte aber immernoch unklar
warum der 2. scheitert
INSERT INTO produkte( image )
SELECT import.bildurl
FROM import , produkte
WHERE produkte.products_model = import.artikelnummer
denn hier habe ich ja in FROM die produkte untergebracht.
Uiuiui, bin für jede Hilfe dankbar.
mfg
Herby
Re: Insert into Probleme
am 13.02.2006 14:15:38 von Dominik Echterbruch
Herby wrote:
>>Das WHERE bezieht sich hier auf das SELECT und in dem FROM des SELECT
>>steht keine Tabelle produkte.
>
>
> Ok, dann ist klar warum der 1. Versuch nicht klappte aber immernoch unklar
> warum der 2. scheitert
>
> INSERT INTO produkte( image )
> SELECT import.bildurl
> FROM import , produkte
> WHERE produkte.products_model = import.artikelnummer
>
> denn hier habe ich ja in FROM die produkte untergebracht.
Da ich nicht weiß, welche Version du hast, tippe ich mal auf das
ebenfalls ordentlich dokumentierte Problem, daß du keine Zeilen in eine
Tabelle einfügen kannst, aus der du selektierst. Jedenfalls nicht in der
selben Anweisung. Das hätte dir die Doku aber auch verraten...
Grüße,
Dominik
--
MonstersGame - Die Schlacht zwischen Vampiren und Werwölfen
http://spielwelt6.monstersgame.net/?ac=vid&vid=3018786
Re: Insert into Probleme
am 13.02.2006 15:14:51 von Dirk Brosowski
Herby schrieb:
>>Das WHERE bezieht sich hier auf das SELECT und in dem FROM des SELECT
>>steht keine Tabelle produkte.
>
>
> Ok, dann ist klar warum der 1. Versuch nicht klappte aber immernoch unklar
> warum der 2. scheitert
>
> INSERT INTO produkte( image )
> SELECT import.bildurl
> FROM import , produkte
> WHERE produkte.products_model = import.artikelnummer
>
> denn hier habe ich ja in FROM die produkte untergebracht.
da du products überhaupt nicht verwendest, kann ich mir da keinen
Zusammenhang vorstellen.
Grüße
Dirk
Re: Insert into Probleme
am 13.02.2006 16:10:40 von Sascha Klopp
Herby schrieb:
>> Das WHERE bezieht sich hier auf das SELECT und in dem FROM des SELECT
>> steht keine Tabelle produkte.
>
> Ok, dann ist klar warum der 1. Versuch nicht klappte aber immernoch unklar
> warum der 2. scheitert
>
> INSERT INTO produkte( image )
> SELECT import.bildurl
> FROM import , produkte
> WHERE produkte.products_model = import.artikelnummer
>
> denn hier habe ich ja in FROM die produkte untergebracht.
>
Willst du evtl. gar nicht INSERTen, ondern UPDATEn?
UPDATE produkte p
SET image=(SELECT bildurl
FROM import i
WHERE i.artikelnummer=p.products_model)
(ungetestet!)
HTH
skl