[FRAGE] - Einfügen von Tupeln??? :ahhh:
Results 1 to 11 of 11
  1. #1
    Ordovicium's Avatar
    Title
    Administrator
    Join Date
    Nov 2001
    Location
    Vienna, Austria, Austria
    Posts
    3,070
    Thanks
    25
    Thanked 128 Times in 58 Posts

    Einfügen von Tupeln??? :ahhh:

    Wieso haut das nicht hin??????
    Code:
    insert 
    into ware (ProdId, Bezeichnung, Preis, Bestand, HerstId) 
    values (4756, X-Box, 299, 20, 20)
    lg Ordo

  2. #2

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    87
    Thanks
    0
    Thanked 0 Times in 0 Posts
    achte darauf, dass du alle werte (außer die zahlen-werte) in hochkommata anführst: bezeichnung -> "xbox" und du keinen autoincrement manuell setzten willst (ProdIDd?)

  3. #3
    Ordovicium's Avatar
    Title
    Administrator
    Join Date
    Nov 2001
    Location
    Vienna, Austria, Austria
    Posts
    3,070
    Thanks
    25
    Thanked 128 Times in 58 Posts
    Code:
    insert 
    into ware (ProdId, Bezeichnung, Preis, Bestand, HerstID) 
    values (1, 'XBox', 299, 20, 20)
    geht nicht.

    Habe die Def. für die Tabelle von Seite 23 unten genommen.
    Last edited by Ordovicium; 29-05-2002 at 14:58.
    lg Ordo

  4. #4

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    87
    Thanks
    0
    Thanked 0 Times in 0 Posts
    existiert bei dir ein datensatz mit Herstellerid 20 in Tabelle Hersteller (Fremdschlüssel!)?

  5. #5
    Ordovicium's Avatar
    Title
    Administrator
    Join Date
    Nov 2001
    Location
    Vienna, Austria, Austria
    Posts
    3,070
    Thanks
    25
    Thanked 128 Times in 58 Posts
    lg Ordo

  6. #6

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    87
    Thanks
    0
    Thanked 0 Times in 0 Posts
    btw. falls du tabellendef. 1zu1 übernommen hast, ists' ok, dass du die ProdId angibst, wenn nicht und ProdId sollte aus irgendeinem Grund ein autoincrement sein, darfst du diesen im insert nicht angeben (wie der name schon sagt, wird dieser wert automatisch fortlaufend +1 gesetzt).

  7. #7
    Ordovicium's Avatar
    Title
    Administrator
    Join Date
    Nov 2001
    Location
    Vienna, Austria, Austria
    Posts
    3,070
    Thanks
    25
    Thanked 128 Times in 58 Posts
    Kannst du mir mal die Fehlermeldung erklären:

    PostgreSQL said: ERROR: referential integrity violation - key referenced from ware not found in hersteller
    lg Ordo

  8. #8

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    87
    Thanks
    0
    Thanked 0 Times in 0 Posts
    meine vermutung hat sich nach probieren bestätigt - hier die fehlermeldung vom sql-server:

    Error - /usr/local/www/data.default/dmlu/sql.php -- Line: 90
    PostgreSQL said: ERROR: referential integrity violation - key referenced from ware not found in hersteller
    Your query:
    insert
    into ware (ProdId, Bezeichnung, Preis, Bestand, HerstId)
    values (1, 'XBox', 299, 20, 20)

    Da du die Tabelle mit referenzieller int. angelegt hast, mußt du auch darauf achten, dass die integritätsbedingungen gegeben sind (dh. in diesem fall, dass du keinen datensatz einfügen kannst der eine herstid besitzt die nicht in hersteller definiert ist.)

  9. #9

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    87
    Thanks
    0
    Thanked 0 Times in 0 Posts
    hab deinen letzten post erst später gelesen - hier noch mal eine erklärung der ref. int.:

    r. i. bedeutet, dass die rdbms nichts anstellt, wenn die r. i. bedingungen nicht erfüllt sind = ein gewisser maß von schutz des datenbestandes. das bsp. aus dem buch ist eh ganz sinnvoll: man kann hier keine waren anlegen, deren hersteller man (od. besser gesagt die rdbms) nicht kennt und umgekehrt ganz sinnvoll: keine hersteller löschen, von denen noch waren verkauft werden.

    deswegen mußt du beim einfügen bzw. löschen die r. i. bedingungen beachten -> in deinem fall muss der hersteller 20 in der hersteller-tabelle existieren, damit du eines seiner produkte in dein Sortiment aufnehmen kannst.

    ich hoffe, ich konnte helfen!

  10. #10
    Ordovicium's Avatar
    Title
    Administrator
    Join Date
    Nov 2001
    Location
    Vienna, Austria, Austria
    Posts
    3,070
    Thanks
    25
    Thanked 128 Times in 58 Posts
    Na gut dann, kann ich da eh nicht weiter machen, da die Tabelle Hersteller nicht von mir ist, und somit nicht weiss wie sie def. ist.

    Auf jeden Fall danke für den privaten Unterricht
    Du konntest mir so einiges näher bringen.
    lg Ordo

  11. #11

    Title
    Principal
    Join Date
    Feb 2002
    Posts
    87
    Thanks
    0
    Thanked 0 Times in 0 Posts
    bitte, bitte!

    tipp: leg dir eine tabelle ware2 an die auf die tabelle hersteller2 referenziert (jeweils mit den selben strukturen wie im buch), dann kannst weitermachen!

    mfg

    clemens

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •