【问题标题】:Insert values into column when the two corresponding column values are not there当两个对应的列值不存在时,将值插入列
【发布时间】:2021-11-07 16:02:45
【问题描述】:

我正在创建一个表格,其中包含与各种事件关联的用户配置文件。用户资料的各种变量以不同的时间间隔变化,从每天到一年以上。因此,一旦用户与某个事件相关联,他的个人资料就无法针对该事件进行更改。

通过 Select 查询将值插入表中时,我需要确保一个用户 ID 和事件 ID 的记录不超过一条。我怎样才能以最佳方式实现这一目标?提前谢谢你。

例如

event_id user_id age gender
abc 1 24 M
xyz 5 31 F
xyz 5 31 F
abc 5 31 F

在上表中,event_id = xyz 和 user_id = 5 已经输入了两次。我需要确保不会从我正在检索数据的查询中再次插入这些类型的值。

【问题讨论】:

    标签: sql sql-server trino


    【解决方案1】:

    您将使用唯一约束或索引:

    alter table t add constraint unq_t_event_id_user_id
        unique (event_id, user_id);
    

    【讨论】:

    • 我使用的数据库中没有此功能
    • 你已经用数据库“sql-server”标记了这个问题,SQL Server 肯定支持这个功能。
    • 是的,我也可以使用 SQL 服务器,但我不喜欢使用它,因为它需要计算时间
    猜你喜欢
    • 1970-01-01
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多