现在下载应用并免费测试10天
货币 选择语言 选择地区

MySQL UNIQUE – 设置列为唯一

学习如何使用MySQL脚本模板将列设置为UNIQUE,防止重复值,并在表视图中直接识别UNIQUE列。

教程的目标

你将学习如何在bluetronix CMS中将数据库列明确设置为UNIQUE。这样,这一列中相同的值不能重复保存。

这在某些情况下是有意义的,例如在一个表中,电子邮件地址、电话号码或客户编号每项只能出现一次。

没有UNIQUE的初始状态

在我们的示例中,我们使用了包含ID、电话和姓名列的Contacts表。电话号码+49 263 43628376已经在数据集中Smith中存在。

只要列Phone未设置为UNIQUE,就可以再次输入相同的电话号码。

保存后,额外的数据集就存在了。这样,电话号码在Phone列中出现了多次。

将列清晰地设置为UNIQUE

打开MySQL - Script,并选择模板将表列设置为唯一(UNIQUE)。然后,调整命令以适应你的表和所需列。

对于Contacts表和Phone列,示例中使用的命令如下:

ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);

执行后,CMS在MySql信息下确认命令成功执行。这样,Phone列就被设置为UNIQUE。

再次测试重复值

现在再次尝试将已经存在的电话号码+49 263 43628376作为新记录进行保存。

由于列现在是UNIQUE,相同的值不能再次保存。因此,保存时会拒绝重复条目,并出现错误。

重要: UNIQUE直接阻止数据库层的重复值,因此,已经在唯一列中的值不能再次保存。

在CMS中识别UNIQUE列

在表视图中,你可以用鼠标悬停在相关列上。对于UNIQUE列,CMS会显示提示,表明该列中的每个条目只能出现一次。

典型的使用场景

UNIQUE适用于某些信息不应在同一列中重复的情况。典型示例包括:

  • E-Mail-Adressen bei einem Newsletter
  • Telefon- oder Handynummern
  • Kundennummern

这样可以在数据库层面防止同一唯一值被多次存储。

总结

通过模板设置表列为唯一(UNIQUE),可以将一列设置为每个值只能出现一次。在示例中,将Contacts表的Phone列设置为UNIQUE。之后,再次保存相同的电话号码时将被拒绝。在表视图中,CMS会在相关列上显示相应的UNIQUE提示。

常见问题

客户常问我们的问题

UNIQUE在数据库列中是什么意思?

UNIQUE意味着在该列中同一个值不能被多次存储。

我可以在哪里使用UNIQUE?

UNIQUE适用于那些只应出现一次的值,例如电子邮件地址、电话号码或客户编号。

我可以在哪里在bluetronix CMS中将一列设置为UNIQUE?

打开MySQL - 脚本,并在这里使用模板设置表列为唯一(UNIQUE)。

示例中使用了什么MySQL命令?

在教程中使用的是ALTER TABLE Contacts ADD CONSTRAINT unique_user UNIQUE (Phone);。

示例中使用了哪个表?

示例中使用了包含ID、Phone和Name列的Contacts表。

示例中哪个列被设置为UNIQUE?

Phone列被设置为UNIQUE。

如果没有UNIQUE,重复值会发生什么?

在图示示例中,没有UNIQUE时相同的电话号码可以再次被存储。

设置UNIQUE后,重复值会发生什么?

重复值在保存时会被拒绝,并出现错误。

我在CMS中如何识别UNIQUE列?

当你将鼠标悬停在相关列上时,CMS会显示提示,说明该列中的每个条目只能出现一次。

我可以为新闻通讯的电子邮件地址使用UNIQUE吗?

可以。这样可以防止相同的电子邮件地址多次存储在相关列中。

我可以为电话号码使用UNIQUE吗?

可以。在教程中,正是这个用例使用了Phone列。

我可以为客户编号使用UNIQUE吗?

是的。如果每个客户编号只能出现一次,UNIQUE是合适的选择。

为什么UNIQUE是有意义的?

UNIQUE可以直接在数据库层面防止重复的唯一值,从而帮助避免相关列中的重复条目。

CMS