mysql主键id的生成方式(自增、唯一不规则)

 更新时间:2021年09月05日 16:03:52   作者:向日的神话  
本文主要介绍了mysql主键id的生成方式,主要包括两种生成方式,文中通过代码示例介绍的非常详细,感兴趣的可以了解一下

1、利用uuid函数生成唯一且不规则的主键id

sql:

CREATE TABLE `test` (
  `id` varchar(100) COLLATE utf8_estonian_ci NOT NULL COMMENT '唯一不重复',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `sex` int(11) DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `username` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `classes` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `major` int(255) DEFAULT NULL,
  `QQ` int(20) DEFAULT NULL,
  `introducemyself` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci ROW_FORMAT=DYNAMIC;

表:

插入语句:

INSERT INTO test(id,sex,name,username,password,classes,major,QQ,introducemyself) VALUE(replace(uuid(), '-', ''),1,"小米","xck","001","八班",265,953190259,"我最牛");

执行了俩次,生成了俩个不同id:

2、id实现自动增长

将类型改为整型,下方选择自动增长

 看DDL:

CREATE TABLE `test` (
  `id` bigint(100) NOT NULL AUTO_INCREMENT COMMENT '唯一不重复',
  `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `sex` int(11) DEFAULT NULL,
  `name` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `username` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `password` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `classes` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  `major` int(255) DEFAULT NULL,
  `QQ` int(20) DEFAULT NULL,
  `introducemyself` varchar(255) COLLATE utf8_estonian_ci DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_estonian_ci ROW_FORMAT=DYNAMIC;

插入一条数据,sql:

INSERT INTO test(sex,name,username,password,classes,major,QQ,introducemyself) VALUE(1,"小米","xck","001","八班",265,953190259,"我最牛");

对应数据库变化:

到此这篇关于mysql主键id的生成方式(自增、唯一不规则)的文章就介绍到这了,更多相关mysql主键id生成内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • mysql索引过长Specialed key was too long的解决方法

    mysql索引过长Specialed key was too long的解决方法

    在创建要给表的时候遇到一个有意思的问题,提示Specified key was too long; max key length is 767 bytes,本文就来介绍一下解决方法,如果你也遇到此类问题,可以参考一下
    2021-11-11
  • MySQL安装及初始密码设置方式

    MySQL安装及初始密码设置方式

    这篇文章主要介绍了MySQL安装及初始密码设置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • MySQL数据库主从复制延时超长的解决方法

    MySQL数据库主从复制延时超长的解决方法

    这篇文章主要给大家介绍了关于MySQL数据库主从复制延时超长的解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用MySQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • MySQL数据库中遇到no database selected问题解决办法

    MySQL数据库中遇到no database selected问题解决办法

    这篇文章主要给大家介绍了关于MySQL数据库中遇到no database selected问题的解决办法,这是MySQL数据库的错误提示,意思是没有选择数据库,在使用MySQL命令行操作时需要先选择要操作的数据库,否则就会出现这个错误,需要的朋友可以参考下
    2024-03-03
  • MySQL5.5版本安装与安装失败详细讲解

    MySQL5.5版本安装与安装失败详细讲解

    MySQL是一款安全、跨平台、高效的,并与PHP、Java等主流编程语言紧密结合的数据库系统,下面这篇文章主要给大家介绍了关于MySQL5.5版本安装与安装失败详细讲解的相关资料,需要的朋友可以参考下
    2023-03-03
  • mysql8.0忘记密码的详细解决方法

    mysql8.0忘记密码的详细解决方法

    很早前安装了MYSQL,现在由于需要使用MYSQL但忘记密码,所以下面这篇文章主要给大家介绍了关于mysql8.0忘记密码的详细解决方法,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • MySQL8.0.26安装与卸载的完整步骤记录

    MySQL8.0.26安装与卸载的完整步骤记录

    这篇文章主要给大家介绍了MySQL8.0.26安装与卸载的完整步骤,文中通过图文以及示例代码介绍非常详细,对于在windows下安装msql非常有帮助,需要的朋友可以参考下
    2021-07-07
  • mysql存储过程 在动态SQL内获取返回值的方法详解

    mysql存储过程 在动态SQL内获取返回值的方法详解

    本篇文章是对mysql存储过程在动态SQL内获取返回值进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • mysql踩坑之limit与sum函数混合使用问题详解

    mysql踩坑之limit与sum函数混合使用问题详解

    这篇文章主要给大家介绍了关于mysql踩坑之limit与sum函数混合使用问题的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用mysql具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • 深入理解mysql之left join 使用详解

    深入理解mysql之left join 使用详解

    即使你认为自己已对 MySQL 的 LEFT JOIN 理解深刻,但我敢打赌,这篇文章肯定能让你学会点东西
    2012-09-09

最新评论