在下表中:
CREATE TABLE user (
email varchar[],
...
);
我想确保没有两个用户拥有相同的电子邮件。我不确定UNIQUE
约束如何与数组数据类型交互。确保唯一性的适当方法是什么?或者这是一种反模式,我应该只声明另一个emails
表吗?
在下表中:
CREATE TABLE user (
email varchar[],
...
);
我想确保没有两个用户拥有相同的电子邮件。我不确定UNIQUE
约束如何与数组数据类型交互。确保唯一性的适当方法是什么?或者这是一种反模式,我应该只声明另一个emails
表吗?
是的,正如您所说,我会创建一个引用用户的电子邮件表。
然后在 emails 表中,您可以在 id_user、id_email 上添加唯一约束。
PS我通常不在PostgreSQL上工作,对于我提到的语法链接