sql >> Databáze >  >> RDS >> Mysql

Prevence duplicitních hodnot v databázi - mysql

Chcete jedinečný index na event_id a day :

create unique index idx_recurrence_event_day on recurrence(event_id, day)

Zabráníte tak duplikaci, kterou nechcete.

Pokud již máte duplikáty, existuje několik způsobů, jak se jich zbavit. Bylo by však jednodušší, kdybyste měli jedinečné ID pro každý řádek, což je jeden z důvodů, proč je automaticky inkrementovaný primární klíč užitečný ve všech tabulkách.

Jedním ze způsobů, jak se jich zbavit i bez jedinečného ID, je použít:

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

Osobně se mi tato metoda nelíbí, protože přidáním indexu by se neměly mazat řádky, ale toto je platné rozšíření MySQL.



  1. Význam délky varchar v tabulce MySQL

  2. Jak vybrat řádky mysql v pořadí klauzule IN

  3. Jak používat tabulky Oracle PLSQL (asociativní pole nebo index podle tabulky)

  4. Jednoduché funkce SQL Serveru k řešení problémů ve skutečném světě