sql >> Database >  >> RDS >> Mysql

Dubbele waarden in database voorkomen - mysql

U wilt een unieke index op event_id en day :

create unique index idx_recurrence_event_day on recurrence(event_id, day)

Dit voorkomt de duplicatie die u niet wilt.

Als je al duplicaten hebt, zijn er verschillende manieren om ze te verwijderen. Het zou echter gemakkelijker zijn als u voor elke rij een unieke id had, wat een reden is waarom een ​​automatisch oplopende primaire sleutel in alle tabellen nuttig is.

Een manier om er vanaf te komen, zelfs zonder een unieke id, is door het volgende te gebruiken:

alter ignore table recurrence add unique (event_id, day);

Persoonlijk houd ik niet van deze methode omdat het toevoegen van een index geen rijen zou moeten verwijderen, maar dit is een geldige MySQL-extensie.



  1. Zoeken in een kolom met CSV-gegevens in een MySQL-tabel op het bestaan ​​van invoerwaarden

  2. Aan de slag met Postgres 13 op Ubuntu 20.04

  3. Krijg alleen cijfers met regexp

  4. MySQL opvragen voor coördinaten voor lengte- en breedtegraad die zich binnen een bepaalde straal van een kilometer bevinden