如何在创建表的时候使2个字段联合起来的值是不能重复的,并且不是主健

如何在创建表的时候使2个字段联合起来的值是不能重复的,并且不是主健
---------------------------------------------------------------

设表tbl两字段名f1,f1
2个字段联合起来的值是不能重复:
ALTER TABLE tbl ADD UNIQUE(f1,f2);
取消
ALTER TABLE tbl DROP INDEX f1;

---------------------------------------------------------------

同意,
UNIQUE和KEY的语法是一样的,只是比较少用,所以象PHPADMIN就没有这种功能,只有在命令行解决了
---------------------------------------------------------------

ALTER TABLE cj ADD UNIQUE(c1,c2)
INSERT INTO cj VALUES('94', '0')
Ok:
INSERT INTO cj VALUES('94', '0')
Error: 1062 - 错误重复的数据值 '94-0'在字段 1
Select ConCat(cj.c1,cj.c2), count(*) As Count from test.cj Group By ConCat(cj.c1,cj.c2) Having Count>1

用这个可以定位重复的值

Published At
Categories with 数据库类
comments powered by Disqus