xar*_*rzu 2 sql-server ssms key
假设我有一个包含多个列的数据库.有一个主键,用户.但是还有另一个列,用户名.当一个新的用户名输入数据库时,我想检查以确保它是唯一的.由于已经存在主键,我可能需要对用户名设置约束.
我不知道该怎么做.当我右键单击列名称并显示"索引/键"时,我看到现有主键的"Users_Key",而不是"用户".所以我必须添加像"Username_Keys"这样的东西?当我这样做时,我在对象资源管理器中的任何地方都看不到它.但我确实在"密钥"下看到了Users_Key?
在SSMS中使用查询是否可以?
那么你可以做到这一点:
ALTER TABLE tablename
ADD UNIQUE (Username)
Run Code Online (Sandbox Code Playgroud)
调用表的位置,并调用tablenameUsername列(您希望它是唯一的)Username.
对于多列,请执行以下操作:
ALTER TABLE tablename
ADD CONSTRAINT uc_NameofConstraint UNIQUE (column1,column2)
Run Code Online (Sandbox Code Playgroud)
说实话,最好是第二种方式,因为您可能需要稍后因某种原因放弃约束.像这样:
ALTER TABLE tablename
DROP CONSTRAINT uc_NameofConstraint
Run Code Online (Sandbox Code Playgroud)
不要忘记UNIQUE约束有一个大小限制(我相信它大约是900字节,但不是100%肯定),所以确保UserName不是类型的列类型,NVARCHAR(MAX)否则它不会让你这样做!但无论如何,让任何人拥有超过100个字符的用户名都是疯了!
| 归档时间: |
|
| 查看次数: |
3636 次 |
| 最近记录: |