MySQL中创建表时AUTO_INCREMENT的用法

2023-10-14 02:08

本文主要是介绍MySQL中创建表时AUTO_INCREMENT的用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

MySQL中创建表时AUTO_INCREMENT的用法


导读:本文介绍了MySQL中创建表时AUTO_INCREMENT的用法。

关键词:AUTO_INCREMENT MySQL数据库 数据库属性 

CREATE TABLE `app` (
  `app_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,
  `app_name` varchar(200) DEFAULT NULL,
  `app_description` text,
  `app_image` varchar(200) DEFAULT NULL,
  `app_online` tinyint(1) DEFAULT '1',
  PRIMARY KEY `app_id` (`app_id`)
  ) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
  /*Data for the table `app` */
  insert into `app`(app_id,app_name,app_description,app_image,app_online) values (1,'团购','团购信息','app_1.gif',1),(3,'test2','test2','app_ad0234829205b9033196ba818f7a872b_3.JPG',1),(4,'test2333','test3333','app_afb9b8cacd8dbfe912d6adc619a0f9fe_4.jpg',1),(5,'分类信息','58同城,赶集网,百姓网dd','app_5.gif',1),(6,'记事本','category info why','app_6.gif',0),(7,'音乐','category info ++ why','app_7.gif',1),(8,'网盘','世界上用户体验最好、速度最快的网络硬盘,试试你就知道。','app_8.gif',0),(9,'图书','book','app_9.gif',1);

  在表app的数据中,字段app_id中的最大值为9,而创建表的时候AUTO_INCREMENT=12,则下次通过程序往表app中insert数据,且没有指定字段app_id的值时,下次的app_id将从12开始计算起,而不是10,切记,切记。

  这个功能有什么作用呢?比如有些数据原来是写死的,没有记录到数据库中,后来由于需求变化需要做成动态管理,需要保存到数据库中,而原来有部分app_id已经被使用了,不能用于其它的,此时AUTO_INCREMENT就被派上用场了。

  举个例子,比如app_id为10时用于我的网址(但是我的网址不需要保存到数据库中,因为每个用户必须显示此app,且不需要配置),如果创建表时不指定AUTO_INCREMENT=12,则app_id为10的值将用于新创建的app,将会发生岐义,所以一定要注意。

这篇关于MySQL中创建表时AUTO_INCREMENT的用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/207399

相关文章

MySQL数据库双机热备的配置方法详解

《MySQL数据库双机热备的配置方法详解》在企业级应用中,数据库的高可用性和数据的安全性是至关重要的,MySQL作为最流行的开源关系型数据库管理系统之一,提供了多种方式来实现高可用性,其中双机热备(M... 目录1. 环境准备1.1 安装mysql1.2 配置MySQL1.2.1 主服务器配置1.2.2 从

JDK21对虚拟线程的几种用法实践指南

《JDK21对虚拟线程的几种用法实践指南》虚拟线程是Java中的一种轻量级线程,由JVM管理,特别适合于I/O密集型任务,:本文主要介绍JDK21对虚拟线程的几种用法,文中通过代码介绍的非常详细,... 目录一、参考官方文档二、什么是虚拟线程三、几种用法1、Thread.ofVirtual().start(

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

深入理解Mysql OnlineDDL的算法

《深入理解MysqlOnlineDDL的算法》本文主要介绍了讲解MysqlOnlineDDL的算法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小... 目录一、Online DDL 是什么?二、Online DDL 的三种主要算法2.1COPY(复制法)

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

mysql8.0.43使用InnoDB Cluster配置主从复制

《mysql8.0.43使用InnoDBCluster配置主从复制》本文主要介绍了mysql8.0.43使用InnoDBCluster配置主从复制,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录1、配置Hosts解析(所有服务器都要执行)2、安装mysql shell(所有服务器都要执行)3、

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR