Announcement

Collapse
No announcement yet.

Insert in 3 Tabells / Fremdids RICHTIG vergen..

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Insert in 3 Tabells / Fremdids RICHTIG vergen..

    INSERT INTO Fred (BEGRUSSUNG)VALUES('Hallo erstmal')

    Folgendes Problem: bei einem insert sollen Daten in 3 Tabellen gleichzeitig geschrieben werden.

    Zunächst mal meine Struktur:



    Also, Es soll ein Artikel, die jweiligen shops sowie deeplinks angelegt werden -
    Bisher habe ich folgenden Ansatz (3 Inserts):

    Code:
    INSERT INTO ARTIKEL (bezeichnung)VALUES('ARTIKEL1')
    Code:
    INSERT INTO SHOPS (name, url)VALUES('SHOP1','www.url1.de')
    Das 3te Insert bereitet nun aber Probleme:
    Der Deeplink soll ja dem RICHTIGEN Artikel und dem RICHTIGEN Shop zugeordnet werden. Also dachte ich mir zunächst mal folgendes Insert:
    Code:
    INSERT INTO DEEPLINKS ( url, shop_id, artikel_id, hash )
    VALUES ('www.deeplink1.de/deeeeeeep', (SELECT max(shop_id) FROM SHOPS), (SELECT max(artikel_id) FROM ARTIKEL), 'FFFFFFFFF');
    Eigentlich sollte das Funktionieren... SQL bricht das ganze aber mit einem Fehler ab für den es lt. SQL Aussage auch keine Hilfe gibt....

    Könnte man das ganze evtl. auch in einem Query erledigen?

    Die Abfragen SELECT max(shop_id) FROM SHOPS liefern mir schon dir richtigen werte,
    und setz ich die werte im insert "manuel" klappts auch - warum so verbunden nicht...

    grüße, dognose
    Zuletzt editiert von dognose; 29.07.2007, 16:06.

  • #2
    Hallo,

    der Weg über SELECT max(shop_id) ist nicht Mehrbenutzerfähig, was insbesondere für Internetanwendungen sehr nachteilig wäre ;-)

    Für die Auswahl der richtigen Alternative muss man zuerst wissen, welche Datenbank verwendet wird.

    Comment

    Working...
    X