首页 > 编程笔记
MySQL AUTO_INCREMENT:设置主键值自动增长
在 MySQL 数据库中,需要在每次插入新记录时,系统自动生成字段的主键值的话,可以通过为表主键添加 AUTO_INCREMENT 关键字来实现。
默认情况下,在 MySQL 中 AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。一个表只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须为主键的一部分。
AUTO_INCREMENT 约束的字段可以是任何整数类型(TINYINT、SMALLIN、INT、BIGINT 等)。
设置表的属性值自动增加的语法规则如下:
示例:定义数据表 tb_emp8,指定员工的编号自动递增,SQL 语句如下:
例如,执行如下插入语句:
语句执行完后,tb_emp8 表中增加 3 条记录,在这里并没有输入 id 的值,但系统已经自动添加该值。
使用 SELECT 命令查看记录,如下所示:
默认情况下,在 MySQL 中 AUTO_INCREMENT 的初始值是 1,每新增一条记录,字段值自动加 1。一个表只能有一个字段使用 AUTO_INCREMENT 约束,且该字段必须为主键的一部分。
AUTO_INCREMENT 约束的字段可以是任何整数类型(TINYINT、SMALLIN、INT、BIGINT 等)。
设置表的属性值自动增加的语法规则如下:
字段名 数据类型 AUTO_INCREMENT
示例:定义数据表 tb_emp8,指定员工的编号自动递增,SQL 语句如下:
CREATE TABLE tb_emp8 ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(25) NOT NULL, deptId INT, salary FLOAT );上述例子执行后,会创建名称为 tb_emp8 的数据表。表 tb_emp8 中的 id 字段的值在添加记录的时候会自动增加,在插入记录的时候,默认的自增字段 id 的值从 1 开始,每次添加一条新记录,该值自动加 1。
例如,执行如下插入语句:
mysql> INSERT INTO tb_emp8 (name,salary) -> VALUES('Lucy',1000), ('Lura',1200),('Kevin',1500);提示:这里使用 INSERT 语句向表中插入记录的方法,并不是 SQL 的标准语法,这种语法不一定被其他的数据库支持,只能在 MySQL 中使用。
语句执行完后,tb_emp8 表中增加 3 条记录,在这里并没有输入 id 的值,但系统已经自动添加该值。
使用 SELECT 命令查看记录,如下所示:
mysql> SELECT * FROM tb_emp8; +----+--------+----------+-------------+ | id | name | deptId | salary | +----+--------+----------+-------------+ | 1 | Lucy | NULL | 1000 | | 2 | Lura | NULL | 1200 | | 3 | Kevin | NULL | 1500 | +----+--------+----------+-------------+