mysql中的unique是约束还是索引?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中的unique是约束还是索引?相关的知识,希望对你有一定的参考价值。

是唯一索引,本身具有约束性,如果该字段已经存在相同的只的话,就不能再插入该数据了,当然也插不进去,比普通索引快。 参考技术A unique是唯一约束,index是索引 参考技术B 是唯一性约束,但本身也是一个索引。 参考技术C 唯一性约束

mysql的unique怎么用

我现在有两个字段不能重复一个ID,一个name,id设置成了自动增长,怎么才能把name设置成不能重复???

下面那个不行:
CREATE TABLE tb_department (
id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
dt_name char(10),
dt_createTime varchar(20),
dt_bz varchar (50)
UNIQUE(dt_name)
) AUTO_INCREMENT = 100;

不能放在这里,要单独的一个建立索引的语句才行,例如:
create unique index idx_num on tb_department (dt_name);
参考技术A 你丫语法错了吧
dt_createTime varchar(20),
dt_bz varchar (50)
UNIQUE(dt_name)
少个 , 号 , 还有 auto_increment 的字段不适合 primary key .
参考技术B 在UNIQUE索引中,所有的值必须互不相同。如果您在添加新行时使用的关键字与原有行的关键字相同,则会出现错误。例外情况是,如果索引中的一个列允许包含NULL值,则此列可以包含多个NULL值。此例外情况不适用于BDB表。在BDB中,带索引的列只允许一个单一NULL。
就是说,对数据表中的某个字段设置
unique
,如果这个字段中已经有重复的值,那么会报错,建立
unique
索引失败。

以上是关于mysql中的unique是约束还是索引?的主要内容,如果未能解决你的问题,请参考以下文章

mysql约束与索引的区别

mysql中的unique

mysql中唯一约束、key和索引的区别,unique key 就是唯一约束吗,新手麻烦指点,谢谢

索引原理与慢查询优化

mysql的unique怎么用

MySQL-约束存储引擎事务索引视图