13. Oktober 2011
Doppelte Einträge in MySql verhindern
Doppelte Einträge in die Datenbank sollen verhindert werden.
In einer Snippet – Datenbank soll ein Tagging – System Einzug halten. Der Administrator kann nun bei den Snippets die Tags löschen oder neue einfügen (Ajax). Kein Snippets soll über doppelte Tags verfügen.
Zuerst erstelle ich über die ID des Snippet (feld_A) und der ID des Tags (feld_B) einen UNIQUE Schlüssel.
ALTER TABLE tabelle ADD UNIQUE INDEX myIndex (feld_A, feld_B);
Als Alternative kann man auch einen PRIMARY Schlüssel verwenden.
ALTER TABLE tabelle ADD PRIMARY KEY (feld_A, feld_B);
Danach kann man beim Einfügen des Datensatzes mit INSERT IGNORE arbeiten.