2011-03-23 57 views
2

我正在尝试创建一个mysql表,并且陷入了让它陷入困境的境地。需要mysql结构双重唯一

2列:

aid 
bid 

关键是援助不是唯一和出价不是唯一的,但援助竞价的组合是独一无二的。

EG:

a b ok? 
0 1 y 
0 2 y 
0 7 y 
1 1 y 
1 7 y 
8 3 y 
0 7 N - since 0 7 is already in table... 

我怎样才能让这个表中的SQL所以它的工作原理?

回答

6
create table my_table (
a int, 
b int, 
unique key (a,b)); 
3

您需要创建这些列的唯一索引:

CREATE UNIQUE INDEX id_index ON mytable (aid,bid); 
2

只是唯一约束添加到表

ALTER TABLE t ADD UNIQUE KEY (aid, bid); 

你当你的代码更改为陷阱异常尝试插入重复密钥。