当前位置:嗨网首页>书籍在线阅读

09-设置数据表的属性值自动增加

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

5.1.7 设置数据表的属性值自动增加

在数据库应用中,经常希望在每次插入新记录时,系统自动生成字段的主键值。可以通过为表主键添加AUTO_INCREMENT关键字来实现。在MySQL中,默认情况下AUTO_INCREMENT初始值为1,每新增一条记录,字段自动加1。一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分。AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLINT、INT、BIGINT)。

属性值自动增加的语法规则如下。

字段名 数据类型 AUTO_INCREMENT

【范例5-10】

定义数据表tb_employee8,指定员工的编号自动增加,SQL语句如下。

CREATE TABLE tb_employee8 ( id INT(11)PRIMARY KEY AUTO_INCREMENT, name VARCHAR(25)NOT NULL, deptId INT(11), salary FLOAT );

上述例子执行后,会创建名称为tb_employee8的数据表。表中的id字段值在添加记录的时候会自动增加,id字段默认值从1开始,每次添加一条新纪录,该值自动加1。

为了验证属性值自动增加,可以向数据表tb_employee8中插入数据,执行插入语句如下。

mysql> INSERT INTO tb_employee8(name,salary) -> VALUES('Lucy',1000),('Lura',1200),('Kevin',1500);

语句执行完成后,tb_employee8表中增加3条记录,插入数据时并没有输入id的值,系统已经自动添加该值,使用SELECT命令查看记录,SQL语句如下。

mysql> SELECT * FROM tb_employee8; +----+-------+--------+--------+ |id|name |deptId|salary| +----+-------+--------+--------+ | 1|Lucy | NULL| 1000| | 2|Lura | NULL| 1200| | 3|Kevin| NULL| 1500| +----+-------+--------+--------+ 3 rows in set (0.00 sec)

提示

这里是使用INSERT声明向表中插入记录的方法,并不是SQL标准语法,这种语法不一定适用于其他数据库,只能在MySQL中使用。