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
的值。