Mysql
 sql >> база данни >  >> RDS >> Mysql

Предотвратете дублиране на стойности в базата данни - mysql

Искате уникален индекс на event_id и day :

create unique index idx_recurrence_event_day on recurrence(event_id, day)

Това ще предотврати дублирането, което не желаете.

Ако вече имате дубликати, има различни начини да се отървете от тях. Въпреки това би било по-лесно, ако имате уникален идентификатор за всеки ред, което е една от причините, поради които автоматично увеличеният първичен ключ е полезен във всички таблици.

Един от начините да се отървете от тях дори без уникален идентификатор е да използвате:

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

Лично аз не харесвам този метод, защото добавянето на индекс не трябва да изтрива редове, но това е валидно разширение на MySQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да вмъкнете записи от таблица в друга без дублиране

  2. MaxListenersExceededWarning:Открит е възможен теч на памет на EventEmitter. Добавени са 11 списъка на съобщенията. Използвайте emitter.setMaxListeners(), за да увеличите лимита

  3. Как да направя това в Laravel, подзаявка къде в

  4. Функция MySQL CEILING() – закръгля до най-близкото цяло число

  5. Sequelize Query, за да намерите всички записи, които попадат в интервала от време