如何在SQL中使用集合?

时间:2016-07-08 11:39:54

标签: sql postgresql sqlite

如果你不清楚它是什么,它允许用户插入一个值,检查一个值是否在列表中并找到一个交叉点(如果值存在于两个集合中)。此外,一个集合只会保留一次值。

如何在SQL中使用set?我正在使用sqlite,但将转向postgresql。对我来说最明显的选择是有一个SetID, SetValue的Set表,这两个值是主键。但是我感觉这不会有效,因为SetID会重复多次。另一个选择是有一个表int SetId, blob SetArray,但我需要手动实现设置逻辑。

在SQL中设置集合的最佳方法是什么?对于sqlite或postgresql?

1 个答案:

答案 0 :(得分:0)

几个选项:

  1. 触发以查看值是否存在,如果存在,则返回NULL(完成您正在做的事情)
  2. 只使用唯一约束并处理错误
  3. 这些都将表从包移动到集合,但它们以不同的方式移动,一种是通过赋予它更多类似选择的语义(用于轻微的性能成本)和另一种更传统的SQL方式来强制数据验证条目。

    如果您想选择一组,请改用select distinct