在 SQL Server Management Studio 中使列数据唯一

发布于 2024-11-15 12:35:06 字数 244 浏览 4 评论 0原文

假设我有一个包含多个列的数据库。 有一个主键,Users。 但还有另一列,用户名。 当新的用户名输入数据库时​​,我想检查以确保它是唯一的。由于已经有主键,也许我需要对用户名施加约束。

我不知道该怎么做。当我右键单击列名称并调出“索引/键”时,我会看到现有主键的“Users_Key”,而不是“Users”。所以我必须添加类似“Username_Keys”的内容?当我这样做时,我在对象资源管理器中看不到它。但我确实在“Keys”下看到了Users_Key?

Let's say I have a database with several columns.
There is a primary key, Users.
But there is also annother column, Username.
When a new Username is entered into the database, I want to check to make sure it is unique. Since there is already a primary key, maybe I need to put a constraint on Username.

I have no idea how to do this. When I right click on the column name and I bring up "Indexes/Keys" I see "Users_Key" for the existing primary key, not "Users". So I have to add something like "Username_Keys"? When I do, I don't see it anywhere in the Object Explorer. But I do see Users_Key under "Keys"?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

人生百味 2024-11-22 12:35:06

可以在 SSMS 中使用查询吗?

那么你可以这样做:

ALTER TABLE tablename
ADD UNIQUE (Username)

表名为tablename,用户名列(你希望它是唯一的)名为Username

对于多列,这样做:

ALTER TABLE tablename
ADD CONSTRAINT uc_NameofConstraint UNIQUE (column1,column2)

说实话,最好采用第二种方式,因为稍后您可能需要出于某种原因删除约束。像这样:

ALTER TABLE tablename
DROP CONSTRAINT uc_NameofConstraint

不要忘记 UNIQUE 约束有大小限制(我相信它大约是 900 字节,但不是 100% 确定),所以请确保 UserName 不是像 这样的列类型NVARCHAR(MAX) 否则它不会让你这样做!但无论如何,如果让任何人拥有超过 100 个字符的用户名,那就太疯狂了!

Is it okay to use a query within SSMS?

Cos then you could do this:

ALTER TABLE tablename
ADD UNIQUE (Username)

where the table is called tablename and the Username column (which you want to be unique) is called Username.

For multiple columns, do it like this:

ALTER TABLE tablename
ADD CONSTRAINT uc_NameofConstraint UNIQUE (column1,column2)

To be honest, it's better to do it the second way, as you may need to drop the constraint later for some reason. Like this:

ALTER TABLE tablename
DROP CONSTRAINT uc_NameofConstraint

Don't forget that a UNIQUE constraint has a size limit (I believe it's around 900 bytes, but not 100% sure), so make sure UserName is not a column type like NVARCHAR(MAX) or it won't let you do it! But you'd be insane to let anybody have a username over 100 characters anyway!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文