MySQL 在MySQL模式中,AUTO_INCREMENT=3的含义是什么?
在MySQL数据库中,AUTO_INCREMENT是一种特殊的列类型,主要用于给每条记录分配一个唯一的自增值,以便在查询、排序和更新数据时进行更加方便和高效的操作。常用于主键字段的自增。
阅读更多:MySQL 教程
AUTO_INCREMENT的定义和设置
AUTO_INCREMENT的定义通常是在表创建时进行设置,可以在列定义的末尾加上AUTO_INCREMENT关键字,如下所示:
CREATE TABLE `students` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(50) NOT NULL,
`age` INT NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
这样,在向students表添加数据时,如果没有指定id字段的值,则会自动按照从1开始递增的顺序进行分配,比如:
INSERT INTO `students` (`name`, `age`) VALUES ('小明', 18); -- id=1
INSERT INTO `students` (`name`, `age`) VALUES ('小红', 19); -- id=2
INSERT INTO `students` (`name`, `age`) VALUES ('小李', 20); -- id=3
INSERT INTO `students` (`id`, `name`, `age`) VALUES (10, '小张', 21); -- id=10
以上示例中,前三条数据id值会自动递增,而第四条数据中指定了id=10的值,因此不会自动递增。
AUTO_INCREMENT的值可以通过ALTER TABLE语句进行修改,如下所示:
ALTER TABLE `students` AUTO_INCREMENT=100;
执行上述语句后,在向students表添加数据时,id值会从100开始进行递增。
AUTO_INCREMENT=3的含义
当通过ALTER TABLE students AUTO_INCREMENT=3设置AUTO_INCREMENT的值为3时,它的含义是指在向students表添加数据时,id值将从3开始进行自增分配。比如:
INSERT INTO `students` (`name`, `age`) VALUES ('小明', 18); -- id=3
INSERT INTO `students` (`name`, `age`) VALUES ('小红', 19); -- id=4
INSERT INTO `students` (`name`, `age`) VALUES ('小李', 20); -- id=5
INSERT INTO `students` (`id`, `name`, `age`) VALUES (10, '小张', 21); -- id=10
以上示例中,前三条数据id值从3开始递增,而第四条数据中指定了id=10的值,因此不会自动递增。
结论
在MySQL模式中,AUTO_INCREMENT=3的含义是指在向表中添加记录时,指定AUTO_INCREMENT列时,所分配的初始自增值为3,然后从此值开始递增。
极客笔记