@entermix

Как избавится от дублирования записей?

Есть сл. струтура:

page_statistics
id, page_id, date, visitors, ...

При вставке записи в другую таблицу, вызывается триггер, который должен добавить/обновить (visitors + 1, если запись существует). Проблема в том, что в структуре нету уникальных полей, т.е. могут быть разные объявления на каждый день

Например:
1, 11, 10.04.2016, 117
2, 22, 10.04.2016, 172
3, 11, 12.04.2016, 56
4, 11, 13.04.2016, 32


То есть ON DUPLICATE KEY UPDATE не подходит, как быть в этом случае? Я правильно понимаю, что без дополнительного select не обойтись?

CREATE TRIGGER `after_insert_page_visits` AFTER INSERT ON `page_visits`
 FOR EACH ROW INSERT INTO `page_statistics` (page_id, date ,visitors, created) VALUES (NEW.page_id, UNIX_TIMESTAMP(CURDATE()), 1, UNIX_TIMESTAMP()) ON DUPLICATE KEY UPDATE visitors=visitors + 1
  • Вопрос задан
  • 519 просмотров
Решения вопроса 2
@deliro
Поставь уникальный индекс на page_id + date
Ответ написан
Комментировать
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы