【发布时间】:2014-06-16 01:06:49
【问题描述】:
我有这个 mySql 表:
create table associations
(email1 varchar(30),
email2 varchar(30),
primary key(email1, email2));
如果我按如下方式插入两行,则现在在此表中:
insert into associations values('a@abc.com','b@abc.com');
insert into associations values('b@abc.com','a@abc.com');
这些在数据库中是可以接受的。我想要做的是它们不应该被数据库接受,因为我只对键的组合感兴趣,而不是它们的顺序。
mysql(或任何其他数据库)中是否有任何内置功能/关键字/hack 允许我这样做?
【问题讨论】:
-
不可能作为复合主键,但您可以创建功能索引。我不认为 MySQL 支持这一点。另一种解决方案可能是添加约束
email1 <= email2。
标签: mysql database key composite