MySQL中获取自增ID的技巧(mysql获取自增的id)
随着Web程序越来越复杂,MySQL被广泛使用,做为一款国内外具有代表性的开源关系型数据库,MySQL在Web程序中有一个大范围的应用,是做许多任务的首选。在使用MySQL 时,如何获取自增ID是一个很关键的问题,本文介绍MySQL中获取自增ID的技巧。
MySQL提供了三种技术来获取自增ID,这三种技术是:1. LAST_INSERT_ID()函数;2. INSERT … RETURNING语句;3. AUTO_INCREMENT属性。
首先,使用MySQL提供的内置函数LAST_INSERT_ID()获取自增ID,LAST_INSERT_ID()函数是MySQL中用于返回前一条INSERT或UPDATE语句所生成的自动生成的ID值,例如:
INSERT INTO table1 (name, address) VALUES (‘Brandon’, ‘USA’);
SELECT LAST_INSERT_ID();
运行结果:
LAST_INSERT_ID()
—————–
3
其次,使用MySQL的INSERT … RETURNING语句来获取自增ID,这个语句可以在插入数据后返回插入记录的ID,例如:
INSERT INTO table1 (name, address)
VALUES (‘Brandon’, ‘USA’)
RETURNING ID INTO @last_id;
同样,还可以使用MySQL的AUTO_INCREMENT属性来实现自增ID的获取,AUTO_INCREMENT属性可以让一列数据每次插入数据自动增加,从而获取自增ID。例如:
CREATE TABLE table1 (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
address varchar(255) NOT NULL,
PRIMARY KEY (id)
)
INSERT INTO table1 (name, address) VALUES (‘Brandon’, ‘USA’);
SELECT MAX(id) FROM table1;
运行结果:
MAX(id)
——-
4
以上三种技术都可以用于获取MySQL数据库中的自增ID。其中,LAST_INSERT_ID()函数被广泛使用,而INSERT … RETURNING 语句和AUTO_INCREMENT属性是两种新技术。不同技术有不同的特点,开发人员应当根据实际需求来选择实现。