当前位置:网站首页 > SQL数据库编程 > 正文

mysql主键是唯一的吗(mysql的主键可以是varchar类型吗)



1.基本语法
 
  

​ 一张表中最多只能有一个主键,且主键约束的字段不能重复,不能为空。主键所在的列通常是整数类型。

 
  

​ 虽然我们在创建t5的时候没有设置id字段的非空约束,但是mysql在做语法优化的时候,会自动为主键字段加上 的约束。

2.使用案例
  • 创建表的时候指定主键
     
  • 删除主键
     

    image-20230427191932180

  • 当表创建好后没有主键,可以再次追加主键。如果即将设为主键的字段中存在重复,那么插入会失败。因此强烈建议在建表时就要考虑周到,后面再添加很不方便
     

    image-20230427192021112

  • 主键约束的字段不能重复,一旦重复,则插入操作失败
     
  • 设置复合主键。在建表的时候,我们可以在所有字段后,使用 来创建主键,如果有多个字段作为主键,可以设置为复合主键
     

​ 在上面的这个例子中,id、、telephone三个字段合并成为一个主键。复合主键的唯一性要求是,一个数据行中复合主键所有字段的组合必须唯一,也就是说它允许局部重复的出现。

1.基本语法
 
  

​ 前面谈到,主键可以保证数据的唯一性,但是一张表中主键只能有一个。然而在现实生活中,一张表中具有唯一性的数据往往不只一个,例如:身份证号、号、手机号……那么这些数据的唯一性就需要由唯一键来保证。

​ 唯一键和主键的主要区别是:唯一键可以允许空值(NULL),其中空字段不做唯一性比较。空值的存在,就导致了唯一键并不能完全唯一地标识每一行数据;而主键不允许数据重复也不允许为空,因而可以唯一的标识每一行数据。

​ 我们可以简单理解成,主键更多的是标识唯一性的。而唯一键更多的是保证在业务上,数据不要出现重复。一般而言,我们建议将主键设计成为和当前业务无关的字段,这样,当业务调整的时候,我们可以尽量不会对主键做过大的调整 。

2.使用案例
  • 设置字段为唯一键
     

    image-20230428112518030

  • 唯一键不允许重复
     
  • 唯一键允许为空
     
到此这篇mysql主键是唯一的吗(mysql的主键可以是varchar类型吗)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • sqlldr 指定字符集(sql设置字符集)2026-05-03 16:09:04
  • mysql添加主键约束语句(mysql添加主键约束语句是什么)2026-05-03 16:09:04
  • sql文件是什么文件(sql文件是什么文件啊)2026-05-03 16:09:04
  • mysql 主键和外键(mysql主键外键区别)2026-05-03 16:09:04
  • goldendb数据库语法(goldendb数据库 mysql)2026-05-03 16:09:04
  • 数据库增删改查sql语句(数据库增删改查sql语句传参)2026-05-03 16:09:04
  • mysql主键用什么类型(mysql的主键)2026-05-03 16:09:04
  • sql文件怎么导入数据库sql server(sql文件怎么导入数据库mysql workbench)2026-05-03 16:09:04
  • 达梦客户端管理工具(达梦客户端管理工具,调整sql编辑器位置)2026-05-03 16:09:04
  • plsql12注册码(plsql14注册码)2026-05-03 16:09:04
  • 全屏图片