mysql怎么增加少数索引

三种增加方法:1、使用“CREATE INDEX”语句增加,语法“CREATE UNIQUE INDEX 索引名 ON 表名(列名列表);”;2、建表时增加,语法“CREATE TABLE 表名(… UNIQUE KEY(列名列表) );”;3、修改表时增加,语法“ALTER TABLE 表名 ADD CONSTRAINT 索引名 UNIQUE KEY(列名列表);”。

本教程操作环境:windows7系统、mysql8版本、Dell G3电脑。

mysql少数索引(UNIQUE)

要强制执行一列或多列的少数性值,通常使用PRIMARY KEY约束。但是,每个表只能有一个主键。因此,如果要包含多个列或一组具有少数值的列,则不能使用主键约束。

幸运的是,MySQL提供了另一种指标叫做UNIQUE索引,使您可以强制执行值的少数的一列或多列。与PRIMARY KEY 索引不同,UNIQUE每个表可以有多个索引。

要创建UNIQUE索引,请使用以下CREATE INDEX语句:

CREATE UNIQUE INDEX 索引名ON 表名(列名1,列名2,...);

在一列或多列中强制执行值少数性的另一种方法是使用UNIQUE约束。

创建UNIQUE约束时,MySQL会UNIQUE在幕后创建索引。

以下语句说明了在创建表时如何创建少数约束。

CREATE TABLE 表名(...   UNIQUE KEY(列名1,列名2,...) );

也可以使用ALTER TABLE语句给现有表添加少数索引(UNIQUE)

ALTER TABLE 表名ADD CONSTRAINT 索引名 UNIQUE KEY(列名1,列名2,...);

MySQL UNIQUE索引示例

假设您要管理应用程序中的联系人。您还希望contacts表中每个联系人的电子邮件必须是少数的。

要强制执行此规则,请在CREATE TABLE语句中创建少数约束,如下所示:

CREATE TABLE IF NOT EXISTS contacts (    id INT AUTO_INCREMENT PRIMARY KEY,    first_name VARCHAR(50) NOT NULL,    last_name VARCHAR(50) NOT NULL,    phone VARCHAR(15) NOT NULL,    email VARCHAR(100) NOT NULL,    UNIQUE KEY unique_email (email));

mysql怎么增加少数索引

如果使用SHOW INDEXES语句,您将看到MySQL UNIQUE为email列创建了索引。

SHOW INDEXES FROM contacts;

mysql怎么增加少数索引

让我们在contacts表格中插入一行。

INSERT INTO contacts(first_name,last_name,phone,email)VALUES('John','Doe','(408)-999-9765','john.doe@mysqltutorial.org');

mysql怎么增加少数索引

现在,如果您尝试插入其电子邮件所在的行john.doe@mysqltutorial.org,您将收到错误消息。

INSERT INTO contacts(first_name,last_name,phone,email)VALUES('Johny','Doe','(408)-999-4321','john.doe@mysqltutorial.org');
ERROR 1062 (23000): Duplicate entry 'john.doe@mysqltutorial.org' for key 'unique_email'

mysql怎么增加少数索引

假设你想要的组合first_name,last_name和 phone也接触中是少数的。在这种情况下,您可以使用CREATE INDEX语句UNIQUE为这些列创建索引,如下所示:

CREATE UNIQUE INDEX idx_name_phoneON contacts(first_name,last_name,phone);

添加下面一行到contacts因为组合表会导致错误first_name,last_name以及phone已经存在。

INSERT INTO contacts(first_name,last_name,phone,email)VALUES('john','doe','(408)-999-9765','john.d@mysqltutorial.org');
ERROR 1062 (23000): Duplicate entry 'john-doe-(408)-999-9765' for key 'idx_name_phone'

到此,相信大家对“mysql怎么增加少数索引”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

文章标题:mysql怎么增加少数索引,发布者:亿速云,转载请注明出处:https://worktile.com/kb/p/29020

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
亿速云的头像亿速云认证作者
上一篇 2022年9月22日 下午10:19
下一篇 2022年9月22日 下午10:20

相关推荐

  • windows浩辰cad看图王可以画图吗

    浩辰cad看图王可以画图吗 答:浩辰cad看图王有简单的画图功能。 1、浩辰cad看图王主要还是用来看图的,无法用它代替autocad来画图。 2、不过其中有一些简单的画图功能。 3、在绘图工具下,可以在图纸中添加直线、文字、圆形、矩形等图形。 4、还可以添加线性、对齐、角度、坐标、直径、半径等数据…

    2022年9月21日
    53700
  • 如何进行Web权限维持分析

    前言 权限维持,在红蓝对抗中,我觉得其意义在于两点:一是防止已获取的权限被蓝队破坏;二是防止其他红队获取到相同的权限(虽然有点缺德。。。)。 其他情况下的非法用途就不说了。 权限维持的原则我觉得就是不能影响原来业务的正常运行。(比如改后台密码导致管理员不能登录,修改文件夹读写权限导致正常的文件不能上…

    2022年9月24日
    56000
  • windows中raid0和raid1的区别是什么

    raid0和raid1的区别 一、概念 1、RAID 0: RAUD 0就是多磁盘数据分组同步写读。 2、RAID 1: RAID 1就是多磁盘同数据同步写读。 二、安全性 1、RAID 0: 无数据备份功能,安全性差。 2、RAID 1: 盘间是相互备份的,安全性高。 三、性能 1、RAID 0 …

    2022年9月8日
    89400
  • MySQL日志管理怎么配置

    MySQL的日志默认保存在数据库文件的存储目录(一般为/usr/local/mysql/data/)。也可以修改配置文件,自定义日志文件的保存位置。 我这里在编译安装时,数据库文件存储目录设置的是/home/mysql。 一、四种日志介绍 1.1 错误日志 错误日志,用来记录当MySQL启动、停止或…

    2022年9月21日
    1.2K00
  • 如何进行APT41 Speculoos后门分析

    这篇文章将为大家详细讲解有关如何进行APT41 Speculoos后门分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 2020年3月25日,FireEye发表了APT41全球攻击活动报告。此攻击活动发生在1月20日至3月11日期间,主要对Citr…

    2022年9月15日
    58700
  • 学校服务器原理是什么

    摘要 学校服务器原理基于1、客户端-服务器模型、2、网络协议栈、3、虚拟化技术、4、冗余与备份。其中,客户端-服务器模型是其核心架构,学校的网络环境中多个客户端(如学生和教师的计算机)通过一个或者多个中央服务器来存储、处理和交换信息。服务器通常具备强大的计算能力、存储容量以及高速的网络连接,服务于众…

    2024年4月25日
    2000
  • git如何解决合并冲突

    本篇文章“git如何解决合并冲突”主要为您从以下几个方面讲解:原因、解决方法、git冲突、解决冲突,希望对您有所启发。 git解决合并冲突的方法:1、编辑有冲突的文件,并删除文件中的特殊符号,根据需求修改代码;2、将指定文件添加到暂存区,并将指定的分支提交到主干,执行提交即可,其中使用“git co…

    2022年6月29日
    1.4K00
  • mysql有没有触发器

    mysql有触发器。MySQL触发器是存储在数据库目录中的一组SQL语句集合,是MySQL中管理数据的有力工具,主要用于保护表中的数据。MySQL支持三种触发器:1、INSERT触发器,是在INSERT语句执行之前或之后响应的触发器;2、UPDATE触发器,是在UPDATE语句执行之前或之后响应的触…

    2022年9月21日
    59100
  • 西邮服务器显卡要求什么

    西邮服务器显卡要求分析 在选择西邮服务器显卡时,必须考虑三个主要因素:1、性能,2、稳定性,3、兼容性。性能是最核心的考虑点,因为它直接影响服务器执行任务的能力。显卡的性能决定了服务器在处理图形和视频处理任务时的效率,尤其是在需要高算力的应用场景下,比如深度学习、图形渲染等。 一、性能要求 性能是衡…

    2024年4月25日
    900
  • windows edge浏览器和chrome的优点是什么

    edge浏览器chrome哪个好: 答:新版的edge浏览器更好一点。 在使用JavaScript测试后,edge浏览器以平均值103.5击败了谷歌Chrome,这说明它能够更好地处理开发者遇到的性能问题。 edge浏览器和chrome浏览器的优点: edge浏览器: 1、速度更快 edge浏览器已…

    2022年9月8日
    1.4K00
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部