gibt es da irgend eine Möglichkeit das zu unterbinden,
oder sonstwie abzufangen,
Ja, du prüfst serverseitig ob der Datensatz schon vorhanden ist. Wenn ja, wird eine Fehlermeldung generiert.
oder habe ich da einen konzeptionellen Fehler in meinem Programm?
Ja, offensichtlich prüfst du keine Datensätze vor dem Eintragen. Kann sein, dass du dadurch richtig schöne Sicherheitslücken zusätzlich im System hast.
Wenn du den Datensatz vor dem Eintragen prüfst, ist dein Problem an sich eh schon gelöst, du musst nur die Abfrage anpassen.
BTW: Hätte evtl. Sinn gemacht, wenn du geschrieben hättest, welche Programmiersprache du serverseitig verwendest.