`
coding1688
  • 浏览: 236872 次
  • 来自: 上海
社区版块
存档分类
最新评论

关于MySQL中Unique Index

 
阅读更多

在MySQL中的唯一索引(约束)

 

创建方法一 在创表的语句中顺便创建唯一索引

 

CREATE TABLE some_table (

     id INTEGER NOT NULL AUTO_INCREMENT,

     name VARCHAR(32) NOT NULL,

     PRIMARY KEY (id),

     UNIQUE INDEX (name)

);

 

创建方法二 使用创建索引的语句

 

CREATE UNIQUE INDEX name (name) ON some_table;

 

关于创建了 UNIQUE INDEX 的字段上的 NULL 问题

 

要点一:

与PRIMARY KEY 不同的是,UNIQUE INDEX可以在 NULLable 字段上创建,并且不会将该字段转换成 NOT NULL;

要点二:

除了少数存储引擎(BDB),其他的存储引擎都允许 multiple NULL values,即可存在多条该字段值为 NULL 的行。

 

下面的MySQL官网文档的说明。

A UNIQUE index creates a constraint such that all values in the index must be distinct. An error occurs if you try to add a new row with a key value that matches an existing row. This constraint does not apply to NULL values except for the BDB storage engine. For other engines, a UNIQUE index permits multiple NULL values for columns that can contain NULL. If you specify a prefix value for a column in a UNIQUE index, the column values must be unique within the prefix.     

1
2
分享到:
评论

相关推荐

    mysql中key 、primary key 、unique key 与index区别

    在MySQL数据库中,`key`、`primary key`、`unique key`和`index`都是与数据表结构和查询性能紧密相关的概念。了解它们的区别对于优化数据库操作至关重要。 1. **Key** - Key是一种索引约束,它限制了表中特定列的...

    MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别

    总的来说,理解 PRIMARY KEY、UNIQUE KEY 和 INDEX 的区别,以及如何适当地在数据库设计中使用它们,对于优化数据库性能和保证数据完整性至关重要。在创建索引时,应考虑查询模式、存储需求和性能平衡,确保数据库在...

    MySQL中文参考手册

    - **创建索引**:INDEX、UNIQUE INDEX或PRIMARY KEY用于提高查询性能。 - **删除索引**:DROP INDEX语句。 8. **视图** - **创建视图**:CREATE VIEW语句,虚拟表,基于查询结果。 - **修改视图**:ALTER VIEW...

    MySQL使用UNIQUE实现数据不重复插入

    MySQL中的UNIQUE约束是数据库设计中的一个重要概念,用于确保数据库表中的特定列或列组合具有唯一的值。这有助于保持数据的完整性,防止出现重复的数据记录。当我们试图在具有UNIQUE约束的列上插入重复值时,MySQL会...

    mysql 中文及英文参考手册

    - 唯一索引(Unique Index)确保字段的唯一性。 5. **视图(View)** - 视图是虚拟表,基于一个或多个表的查询结果,提供了一种抽象数据的方式。 6. **存储过程(Stored Procedure)与函数(Function)** - ...

    MySQL索引与Index Condition Pushdown

    本文将重点介绍MySQL中的索引类型及其工作原理,并深入探讨Index Condition Pushdown(ICP)这一优化技术。 #### 二、索引类型及工作原理 ##### 1. 主键索引(Primary Key Index) - **定义**:每张表只能有一个...

    mysql8中文参考手册.rar

    5. **约束**:理解主键(PRIMARY KEY)、唯一键(UNIQUE)、外键(FOREIGN KEY)和默认值(DEFAULT)的概念及其在数据完整性中的作用。 6. **视图**:学习创建和使用视图,这有助于简化复杂的查询并提供数据安全。 ...

    Mysql中 unique列插入重复值该怎么解决呢

    在实际应用中,你可能还需要结合`INDEX`来优化查询性能,特别是对于经常用作查询条件的`UNIQUE`列。 总之,当遇到`UNIQUE`列插入重复值的问题时,可以通过`IGNORE`或`ON DUPLICATE KEY UPDATE`来优雅地处理冲突,...

    mysql中创建各种索引的语句整理.pdf

    Mysql中创建各种索引的语句整理 代码 添加PRIMARY KEY(主键索引) 添加UNIQUE(唯一索引) 添加INDEX(普通索引) 添加FULLTEXT(全文索引) 添加多列索引 ) mysql>ALTER TABLE `...

    MYSQL必会必知

    标题《MYSQL必会必知》指出了本文的重点在于介绍MySQL数据库的基础知识,强调了学习MySQL的必要性。描述部分重复强调了“mysql基础”,可能是由于文档错误,不过这仍然突出了本文的主旨:掌握MySQL的基础操作和概念...

    MySQL唯一索引重复插入数据解决方案总结.docx

    例如,alter table table_name add unique [index_name] (col_name(length)) 或 create unique index index_name on table_name(col_name(length))。 当我们创建好唯一索引之后,如果给索引列插入了重复值之后,...

    mysql中文参考手册及基础教程

    MySQL因其高效、稳定和易于管理的特点,在Web应用程序开发中扮演着重要角色。下面将详细介绍MySQL的一些核心概念和功能。 1. 数据库与表:在MySQL中,数据库是存储数据的逻辑单位,而表则是数据库中存储数据的实际...

    mysql第六章.pdf

    普通索引(index)允许在列中插入重复值和空值。主键索引(primary key)是表中唯一标识每条记录的索引,一个表只能有一个主键索引,且不允许空值。唯一性索引(unique)确保索引列的所有值都是唯一的,可以有空值,...

    MySQL 5.1中文参考手册(CHM).zip

    MySQL 5.1中文参考手册是一份非常宝贵的资源,它为开发者提供了全面的关于MySQL数据库管理系统5.1版本的详细信息。MySQL是一个开源、免费的关系型数据库系统,广泛应用于Web应用开发、数据存储和数据分析等领域。CHM...

    Mysql从入门到精通.pdf

    2. 字段修饰:字段修饰包括设置字段为无符号(Unsigned)、自增(Auto_increment)、默认值(Default)、注释(Comment)、非空(Notnull)、唯一索引(Unique)和索引(Index)等。 3. DDL(数据定义语言):用于...

    mysql 学习中 和大家分享一下

    从给定的文件信息中,我们可以提炼出一系列关于MySQL的基础操作和高级技巧,适用于初学者以及希望深化理解的用户。以下是对这些知识点的详细解析: ### MySQL基础命令 #### 启动MySQL服务 - `net start mysql`: 这...

    mysql_scripts MySQL必知必会脚本

    5. **索引**:索引用于加快查询速度,包括普通索引(INDEX)、唯一索引(UNIQUE INDEX)、主键索引(PRIMARY KEY)、全文索引(FULLTEXT INDEX)等。通过脚本,读者可以学习如何创建和优化索引。 6. **插入数据**:...

    关于mysql数据库的学习.zip

    在本资料包"关于mysql数据库的学习.zip"中,可能包含了从基础到进阶的MySQL学习资源,如教程文档、实例代码和实践案例。 MySQL的核心概念包括: 1. 数据库(Database):存储数据的容器,可以理解为一个文件系统中...

Global site tag (gtag.js) - Google Analytics