我有下表,其中包含用户和日期的关键列:
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测试,以确保不会根据用户和日期在我的数据中出现重复项?
还有,我如何测试我实际上需要在关键列中包含操作?
您可以创建unique
约束:
alter table t add constraint unq_user_date unique (user, date);
[如果您尝试插入与现有行具有相同用户和日期的行,则insert
将返回错误-并且类似地,如果您尝试更新值以与现有行冲突。