MySQL 序列 AUTO_INCREMENT详解及实例代码
发布时间 - 2026-01-10 22:50:37 点击率:次MySQL 序列 AUTO_INCREMENT详解及实例代码

MySQL序列是一组整数:1, 2, 3, ...,由于一张数据表只能有一个字段自增主键, 如果你想实现其他字段也实现自动增加,就可以使用MySQL序列来实现。
本章我们将介绍如何使用MySQL的序列。
使用AUTO_INCREMENT
MySQL中最简单使用序列的方法就是使用 MySQL AUTO_INCREMENT 来定义列。
实例
以下实例中创建了数据表insect, insect中id无需指定值可实现自动增长。
mysql> CREATE TABLE insect -> ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT, -> PRIMARY KEY (id), -> name VARCHAR(30) NOT NULL, # type of insect -> date DATE NOT NULL, # date collected -> origin VARCHAR(30) NOT NULL # where collected ); Query OK, 0 rows affected (0.02 sec) mysql> INSERT INTO insect (id,name,date,origin) VALUES -> (NULL,'housefly','2001-09-10','kitchen'), -> (NULL,'millipede','2001-09-10','driveway'), -> (NULL,'grasshopper','2001-09-10','front yard'); Query OK, 3 rows affected (0.02 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> SELECT * FROM insect ORDER BY id; +----+-------------+------------+------------+ | id | name | date | origin | +----+-------------+------------+------------+ | 1 | housefly | 2001-09-10 | kitchen | | 2 | millipede | 2001-09-10 | driveway | | 3 | grasshopper | 2001-09-10 | front yard | +----+-------------+------------+------------+ 3 rows in set (0.00 sec)
获取AUTO_INCREMENT值
在MySQL的客户端中你可以使用 SQL中的LAST_INSERT_ID( ) 函数来获取最后的插入表中的自增列的值。
在PHP或PERL脚本中也提供了相应的函数来获取最后的插入表中的自增列的值。
PERL实例
使用 mysql_insertid 属性来获取 AUTO_INCREMENT 的值。 实例如下:
$dbh->do ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')");
my $seq = $dbh->{mysql_insertid};
PHP实例
PHP 通过 mysql_insert_id ()函数来获取执行的插入SQL语句中 AUTO_INCREMENT列的值。
mysql_query ("INSERT INTO insect (name,date,origin)
VALUES('moth','2001-09-14','windowsill')", $conn_id);
$seq = mysql_insert_id ($conn_id);
重置序列
如果你删除了数据表中的多条记录,并希望对剩下数据的AUTO_INCREMENT列进行重新排列,那么你可以通过删除自增的列,然后重新添加来实现。 不过该操作要非常小心,如果在删除的同时又有新记录添加,有可能会出现数据混乱。操作如下所示:
mysql> ALTER TABLE insect DROP id; mysql> ALTER TABLE insect -> ADD id INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, -> ADD PRIMARY KEY (id);
设置序列的开始值
一般情况下序列的开始值为1,但如果你需要指定一个开始值100,那我们可以通过以下语句来实现:
mysql> CREATE TABLE insect -> ( -> id INT UNSIGNED NOT NULL AUTO_INCREMENT = 100, -> PRIMARY KEY (id), -> name VARCHAR(30) NOT NULL, # type of insect -> date DATE NOT NULL, # date collected -> origin VARCHAR(30) NOT NULL # where collected );
或者你也可以在表创建成功后,通过以下语句来实现:
mysql> ALTER TABLE t AUTO_INCREMENT = 100;
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# MySQL
# 序列
# AUTO_INCREMENT
# AUTO_INCREMENT详解
# AUTO_INCREMENT简单实例
# MySQL 序列(AUTO_INCREMENT)的使用示例
# 来实现
# 如果你
# 你可以
# 又有
# 你想
# 可以通过
# 希望能
# 可以使用
# 所示
# 中也
# 谢谢大家
# 最简单
# 你也可以
# 如何使用
# 多条
# 值为
# 就可以
# 有一个
# 中你
# 主键
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何配置Horizon来管理队列?(安装和使用)
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
中国移动官方网站首页入口 中国移动官网网页登录
Laravel如何使用Gate和Policy进行授权?(权限控制)
西安专业网站制作公司有哪些,陕西省建行官方网站?
Python制作简易注册登录系统
bing浏览器学术搜索入口_bing学术文献检索地址
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
PHP正则匹配日期和时间(时间戳转换)的实例代码
微信小程序 scroll-view组件实现列表页实例代码
php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】
如何快速辨别茅台真假?关键步骤解析
如何快速搭建支持数据库操作的智能建站平台?
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
利用JavaScript实现拖拽改变元素大小
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
网站制作壁纸教程视频,电脑壁纸网站?
重庆市网站制作公司,重庆招聘网站哪个好?
如何在香港服务器上快速搭建免备案网站?
Internet Explorer官网直接进入 IE浏览器在线体验版网址
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
网站制作免费,什么网站能看正片电影?
Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧
Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】
Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权
浅述节点的创建及常见功能的实现
如何获取免费开源的自助建站系统源码?
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
如何有效防御Web建站篡改攻击?
Laravel如何使用Service Container和依赖注入?(代码示例)
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
如何在服务器上配置二级域名建站?
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
如何在万网开始建站?分步指南解析
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
非常酷的网站设计制作软件,酷培ai教育官方网站?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案
Python3.6正式版新特性预览
微博html5版本怎么弄发超话_超话进入入口及发帖格式要求【教程】
如何选择可靠的免备案建站服务器?
Laravel如何升级到最新版本?(升级指南和步骤)
上一篇:laravel 安装向导
上一篇:laravel 安装向导

