日期:2014-05-16  浏览次数:20637 次

请问唯一约束怎那么应用到两个字段的组合之上
假使有两个字段,都是int型,这两个字段都没有unique约束,但是,现在我禁止让两个字段的组合出现重复情况,即:

INSERT table1(field1,field2) VALUES(1,2);

以后再

INSERT table1(field1,field2) VALUES(1,2);
就不让他插入,


INSERT table1(field1,field2) VALUES(1,1);

INSERT table1(field1,field2) VALUES(2,2);
就可以插入,


这样的两个字段组合性质的唯一约束要怎么写?
求教!

------解决方案--------------------
SQL code
mysql> create table table1 (
    ->  field1 int,
    ->  field2 int,
    ->  unique key (field1,field2)
    -> );
Query OK, 0 rows affected (0.11 sec)

mysql> INSERT table1(field1,field2) VALUES(1,2);
Query OK, 1 row affected (0.06 sec)

mysql> INSERT table1(field1,field2) VALUES(1,2);
ERROR 1062 (23000): Duplicate entry '1-2' for key 'field1'
mysql> INSERT table1(field1,field2) VALUES(1,1);
Query OK, 1 row affected (0.08 sec)

mysql> INSERT table1(field1,field2) VALUES(2,2);
Query OK, 1 row affected (0.06 sec)

mysql>

------解决方案--------------------
跟一个字段没啥区别! 仔细看下手册!