关于MySQL数据库的unique约束,unique(name),unique(pass)和unique(name,pass)在建表时有什么区别?
对于您的示例,通常的做法是:
主键名
这意味着这个表中的name字段不允许重复,也不允许为空,而且对pass字段也没有限制,这才是我们实际需要的。
Unique (name)表示限制表中的name字段不允许重复,这是可以理解的,因为一般一个用户只允许一个密码。
Unique (pass)是指限制表中的pass字段不允许重复,也就是说不允许两个用户使用同一个密码,这是不合理的。
Unique (name,pass)是指限制表中name和pass两个字段的组合不允许重复,但允许单个name或pass字段重复,这意味着允许一个用户拥有多个不同的密码。