Linuchs: mysql: Doppelte Einträge verhindern

Beitrag lesen

Hallo,

ich verhindere Doppeleinträge in einer meiner Tabellen über einen unique Index auf einer Spalte.

Beim Eintragen einer Zeile prüfe ich dann per do-while Schleife auf Fehler 1062 und zähle eben entsprechend lange hoch, bis der freie Eintrag gefunden wurde.

Du zählst eine Zahl hoch durch addieren von 1 und kassierst beim Einfügen dauernd Fehler?

Warum lässt du dir nicht einfach die maximale Zahl ausgeben, addierst 1 und hast einen Treffer? Gut, wenn ein anderer schneller war, gibts einen Fehler. Aber dann addierst du nochmal 1.

Jetzt habe ich eine andere Tabelle, bei der es bisher erlaubt war, in einer Spalte doppelte Einträge vorzunehmen, aber ab sofort möchte ich das ändern.

Wie kann ich vorhgehen? Ich kann, meine ich, auf die Spalte nur einen unique Index setzen, aber nicht sowas wie "unique Index ab ID 1000"?

Kannst du die Einträge um eine laufende Zahl ergänzen? Also aus 100, 100 und 100 wird 1-100, 2-100 und 3-100? Danach kannst du dann die Unique-Eigenschaft der Spalte setzen.

Linuchs