在关系型数据库的表结构中,一般情况下,都会定义一个具有‘AUTO_INCREMENT’扩展属性的‘ID’字段,以确保数据表的每一条记录都有一个唯一标识。
而实际应用中,获取到最近最大的ID值是必修课之一,针对于该问题,实践整理如下:
1、新建测试数据表get_max_id
mysql>CREATETABLE`get_max_id` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘业务主键‘, `content` char(25) DEFAULT NULL COMMENT ‘业务内容‘, PRIMARY KEY(`id`) ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
2、未初始化表获取最大自增ID
创建完数据表之后,我们知道,表中的内容暂时为空,此时,查询max(id)获取到的内容将是NULL;
方式1 - max(id):
该方式的优点是简单粗暴,直奔菊花,啊不是( ̄m ̄),直奔主题;
同时,它无视其它客户端连接(db_connection)的影响,可以直奔第3点位置;
mysql>select max(id) fromget_max_id;+---------+
| max(id) |
+---------+
| NULL |
+---------+
1