Как я могу проверить, что данные в моей таблице PostgreSQL не имеют повторяющихся строк, используя мои ключевые столбцы? - PullRequest
0 голосов
/ 12 апреля 2020

У меня есть следующая таблица с ключевыми столбцами пользователя и даты:

user   date              action           
1   2019-05-06 09:30:00 sent_email  
2   2019-05-13 09:30:00 sent_chat_message   
1   2019-05-20 09:30:00 sent_email

У меня вопрос, какой тип теста python или sql я могу выполнить, чтобы убедиться, что не будет дубликаты в моих данных на основе пользователя и даты?

Кроме того, как я могу проверить, что мне действительно нужно включить действие в мои ключевые столбцы?

1 Ответ

0 голосов
/ 12 апреля 2020

Вы можете создать ограничение unique:

alter table t add constraint unq_user_date unique (user, date);

Если вы попытаетесь вставить строку с тем же пользователем и датой, что и у существующей строки, insert вернет ошибку - и аналогично, если вы пытаетесь обновить значения, чтобы они конфликтовали с существующей строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...