mysql怎么让字段从1开始自增?

mysql怎么让字段从1开始自增?

要确保一个 AUTO_INCREMENT 字段从1开始自增,你需要在创建表的时候指定 AUTO_INCREMENT 的起始值为1

或者在表创建之后手动设置 AUTO_INCREMENT 的值。

1.创建表时指定

当你创建表的时候,可以直接指定 AUTO_INCREMENT 的起始值为1:

sql 复制代码
CREATE TABLE example_table (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(100),
    created_at TIMESTAMP,
    PRIMARY KEY (id)
) AUTO_INCREMENT = 1;

这里的AUTO_INCREMENT = 1 确保了 id 字段的第一个值将从1开始。

2.在表创建之后手动设置

如果你的表已经创建好了,并且你想要确保 AUTO_INCREMENT 从1开始,

你可以使用 ALTER TABLE 语句来设置 AUTO_INCREMENT 的值:

sql 复制代码
ALTER TABLE example_table AUTO_INCREMENT = 1;

我的表面是tbl_book,我是这样写的

sql 复制代码
ALTER TABLE tbl_book AUTO_INCREMENT = 1;

注意事项

如果表中已经有数据,并且已经有了一些非连续的 id 值,设置 AUTO_INCREMENT 为1可能会导致新的 id 与旧的数据冲突。你应该确保所设置的新起始值不会与现有的任何 id 冲突。

效果

查看当前的 AUTO_INCREMENT 值

你还可以使用以下命令来查看当前的 AUTO_INCREMENT 值:

sql 复制代码
SHOW TABLE STATUS LIKE 'example_table';

我的表面是tbl_book,我是这样写的

sql 复制代码
SHOW TABLE STATUS LIKE 'tbl_book';

运行结果看下图

这将返回一个包含表状态信息的结果集,其中 Auto_increment 字段将显示当前的 AUTO_INCREMENT 值。

重置 AUTO_INCREMENT

如果你·删除了表中的最后一个行·,

或者执行了 TRUNCATE TABLE

MySQL 会重置AUTO_INCREMENT 的计数器。为了避免这种情况,

可以使用 DELETE 代替 TRUNCATE

并且在删除后手动设置 AUTO_INCREMENT 的值。

相关推荐
Dovis(誓平步青云)1 小时前
从Redis指标采集到异常告警:redis_exporter + Prometheus 完整实战
服务器·数据库·人工智能·redis·架构·prometheus·vibe coding
城管不管9 小时前
重生——第十一次面试之挖财一面2026.8.19已OC
java·服务器·jvm·数据库·spring·面试·职场和发展
倔强的石头1069 小时前
向量数据库从相似度检索走向融合数据底座
数据库
今天AI了吗10 小时前
Python 基础语法(一):常量、变量、输入输出与运算符
开发语言·数据库·人工智能·python·sql·深度学习·机器学习
夜雪一千11 小时前
MySQL 全局锁是什么?原理、风险、备份踩坑完整实战
android·mysql·adb
lilian23312 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更12 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄13 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察13 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
小席是个热心肠14 小时前
Redis的自我学习
数据库·redis·学习