如何使用键列测试PostgreSQL表中的数据是否没有重复的行?

问题描述 投票:0回答:1

我有下表,其中包含用户和日期的关键列:

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测试,以确保不会根据用户和日期在我的数据中出现重复项?

还有,我如何测试我实际上需要在关键列中包含操作?

sql postgresql
1个回答
0
投票

您可以创建unique约束:

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

[如果您尝试插入与现有行具有相同用户和日期的行,则insert将返回错误-并且类似地,如果您尝试更新值以与现有行冲突。

© www.soinside.com 2019 - 2024. All rights reserved.