日期:2014-05-17  浏览次数:20796 次

关于SQL数据库表里某字段设置不能重复的问题
本帖最后由 u010381142 于 2013-12-11 17:10:02 编辑
      在一个UserInfo表里,有ID,UserName,PassWord字段,ID为自增int数据,设置为主键,我想让该表插入新的记录,UserName不会重复,这个可以怎么解决?

------解决方案--------------------
那你就判断这个表里面有没有userName,有就不插入,没有就插入
------解决方案--------------------
可以使用 UNIQUE 约束确保在非主键列中不输入重复的值。尽管 UNIQUE 约束和 PRIMARY KEY 约束都强制唯一性,但想要强制一列或多列组合(不是主键)的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束。 

可以对一个表定义多个 UNIQUE 约束,但只能定义一个 PRIMARY KEY 约束。

而且,UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同。不过,当与参与 UNIQUE 约束的任何值一起使用时,每列只允许一个空值。 

FOREIGN KEY 约束可以引用 UNIQUE 约束。