EIn herzallerliebstes Moin moin!
ich habe mal wieder ein Problem mit MySql, bzw. Datenbanken allgemein.
ich habe, grob und arg gekürzt, folgende Table 'Mitarbeiter':
als primary Key dient mit hier die ID.
Ich will jetzt erreichen, das eine Personalnummer in jeder Niederlassung nur einmal vorkommen darf.
Ich habe dann als erstes versucht Niederlassung und Personalnummer ebenfalls als key zu nutzen, die ID der Mitarbeiter ermöglicht es aber trotzdem doppelte Personalnummern einzutragen.
Personalnummer UNIQUE zu machen hat nicht den gewünschten Effekt, denn dann wird außer acht gelassen das pro Niederlassung ja doppelte Personalnummern auftreten können.
Bisher habe ich mein Programm die Personalnummern verwalten lassen, das ist mir aber ehrlich gesagt zu unsicher, da ich dann immer selber den Check durchführen muss.
meine einzige Lösung wäre jetzt ein Trigger zu schreiben der die Personalnummern prüft, doch bevor ich das mache würde ich gerne wissen ob so etwas auch mit Haus mitteln erreicht werden kann.
Und falls ich einen Trigger nutzen muss, kann ich damit dann einen Fehler erzeugen, der meinem PHP Script mitteilt das der Update / Insert versuch fehlgeschlagen ist und ursprüngliche Aktion abbrechen?
P.S.
da ein Mitarbeiter auch nur einmal pro Niederlassung auftreten darf, gibt es keine Extra Relation die Mitarbeiter und Niederlassungen verknüpft.
ich habe mal wieder ein Problem mit MySql, bzw. Datenbanken allgemein.
ich habe, grob und arg gekürzt, folgende Table 'Mitarbeiter':
Code:
ID | Niederlassung | Personalnummer
-----+----------------------+------------------
1 | 1 | 1
-----+----------------------+------------------
2 | 1 | 2
-----+----------------------+------------------
3 | 2 | 1
-----+----------------------+------------------
4 | 1 | 3
-----+----------------------+------------------
5 | 2 | 3
als primary Key dient mit hier die ID.
Ich will jetzt erreichen, das eine Personalnummer in jeder Niederlassung nur einmal vorkommen darf.
Ich habe dann als erstes versucht Niederlassung und Personalnummer ebenfalls als key zu nutzen, die ID der Mitarbeiter ermöglicht es aber trotzdem doppelte Personalnummern einzutragen.
Personalnummer UNIQUE zu machen hat nicht den gewünschten Effekt, denn dann wird außer acht gelassen das pro Niederlassung ja doppelte Personalnummern auftreten können.
Bisher habe ich mein Programm die Personalnummern verwalten lassen, das ist mir aber ehrlich gesagt zu unsicher, da ich dann immer selber den Check durchführen muss.
meine einzige Lösung wäre jetzt ein Trigger zu schreiben der die Personalnummern prüft, doch bevor ich das mache würde ich gerne wissen ob so etwas auch mit Haus mitteln erreicht werden kann.
Und falls ich einen Trigger nutzen muss, kann ich damit dann einen Fehler erzeugen, der meinem PHP Script mitteilt das der Update / Insert versuch fehlgeschlagen ist und ursprüngliche Aktion abbrechen?
P.S.
da ein Mitarbeiter auch nur einmal pro Niederlassung auftreten darf, gibt es keine Extra Relation die Mitarbeiter und Niederlassungen verknüpft.