Meest elegante manier om dubbele items te bestrijden

Ik werk aan een oplossing om dubbele invoer in een database te voorkomen die kan optreden als gevolg van mijn configuratie.

Ik ben van plan om een ​​md5-hash van een aantal waarden te doen en controleer de tabel om te zien of die hash al bestaat.

Wordt dit efficiënter bereikt met behulp van een mysql-tabel of iets in de trant van een txt-bestand op de server?

Kan iemand een elegantere oplossing voorstellen?

Ik waardeer alle hulp.

0
wat je opslaat in de database? welke inzendingen?
toegevoegd de auteur evilone, de bron
Als u de InnoDB-engine gebruikt, controleert u de externe sleutels en veldindexen.
toegevoegd de auteur Chris Laplante, de bron

1 antwoord

You can create a UNIQUE INDEX and add to it the column set in which values you don't want to be duplicated. Then the DB will return you an error on every transaction that attempts to duplicate that data. Check this: Create Index on MySQL reference

3
toegevoegd
Ik heb dit vandaag gedaan met enkele absoluut afschuwelijke gegevens van een archaïsche MS SQL-database. Het is heel leuk ...
toegevoegd de auteur Bojangles, de bron
Bedankt - Ik had niet echt nagedacht over deze optie omdat het een combinatie van kolommen (geen enkele kolom) is die uniek moet zijn. Dat klinkt een stuk eenvoudiger dan het maken van een nieuwe tabel, gewoon om te controleren en sneller/minder druk op de server.
toegevoegd de auteur JohnCharles117, de bron