vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Relationen mit 2 Feldern in mySQL 
Autor: Zero-G.
Datum: 28.08.08 16:00

Hallo NG

Ich "ärgere" mich im Moment mit den Relationen (Foreign Keys) im mySQL herum.

Also, anlegen kann ich sie & da gibt es auch kein Problem (mehr)...

So, jetzt habe ich aber folgende Konstellation, die mir sehr schleierhaft erscheint.

Ich habe mehrere Auftragstabellen. - Diese sollen eine Relation zu einer Tabelle haben, die wiederum eine Relation mit den Mitarbeitern hat.
Warum es da um drei Tabellen handelt, ist sehr einfach. - Es können pro Auftrag mehrere Mitarbeiter daran gearbeitet haben.

Ganz vereinfachter Aufbau der Tabellen.
Auftrag1 -> AuftragID, InterneAuftragsNummer
Auftrag2 -> AuftragID, InterneAuftragsNummer

Auftrag_Mitarbeiter -> AuftragID, InterneAuftragsNummer, MitarbeiterID

Mitarbeiter -> MitarbeiterID

So, die InterneAuftrasnummer ist pro Auftrag fix vergeben. Eben aus dem Gedanken heraus, dass natürlich die AuftragsID der Tabellen die gleichen sein könnten.

D.h. meine Relation der Auftrag_Mitarbeiter sieht so aus:
CONSTRAINT `rel_mitarbeiter_auftrag1`
    FOREIGN KEY (`auftragid`, `interneauftragsnummer`)
    REFERENCES `auftrag1`(`AuftragID`, `interneauftragsnummer`)
    ON DELETE CASCADE
    ON UPDATE NO ACTION, 
  CONSTRAINT `rel_mitarbeiter_auftrag2`
    FOREIGN KEY (`auftragid`, `interneauftragsnummer`)
    REFERENCES `auftrag2`(`AuftragID`, `interneauftragsnummer`)
    ON DELETE CASCADE
    ON UPDATE NO ACTION
So, das Problem ist jetzt, dass sobald ich einen Datensatz einfügen möchte, bekomme ich folgende Fehlermeldung:
Zitat:


SQL Error: Cannot add or update a child row: a foreign key constraint fails (`db/auftrag_mitarbeiter`, CONSTRAINT `rel_mitarbeiter_auftrag2` FOREIGN KEY (`auftragid`, `interneauftragsnummer`) REFERENCES `auftrag2` (`AuftragID`, `interneauftragsnummer`) O)


Ich dachte, durch die fixe vergabe der internen Auftragsnummer wird dann dort auch unterschieden!?

Kann mir da jemand einen Tipp geben?

DANKE
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Relationen mit 2 Feldern in mySQL957Zero-G.28.08.08 16:00
Re: Relationen mit 2 Feldern in mySQL548ModeratorFZelle28.08.08 18:55
Re: Relationen mit 2 Feldern in mySQL654Zero-G.29.08.08 19:43
Re: Relationen mit 2 Feldern in mySQL544ModeratorFZelle31.08.08 19:59
Re: Relationen mit 2 Feldern in mySQL532Zero-G.01.09.08 08:38
Re: Relationen mit 2 Feldern in mySQL539ModeratorFZelle01.09.08 13:44
Re: Relationen mit 2 Feldern in mySQL549Zero-G.06.09.08 11:25
Re: Relationen mit 2 Feldern in mySQL542ModeratorFZelle06.09.08 18:56
Re: Relationen mit 2 Feldern in mySQL547FlyingEagleLW07.09.08 16:32

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel