日期:2014-05-16 浏览次数:20846 次
MySQL中自动增长列ID的使用
MySQL中可以通过AUTO_INCREMENT属性为新的行产生唯一的标识,如:
CREATE TABLE animals (
???? id INT NOT NULL AUTO_INCREMENT,
?????? name VARCHAR(10)
)
?????? INSERT INTO animals (name) VALUES (‘Joe’), (‘Tom’), (‘Rose’);
SELECT * FROM animals;
1?????????? Joe
2?????????? Tom
3?????????? Rose
你可以使用LAST_INSERT_ID()SQL函数或mysql_insert_id() C API函数来查询最新的AUTO_INCREMENT值。这些函数与具体连接有关,因此其返回值不会被其它执行插入功能的连接影响,他返回是本连接最后一个Insert语句所产生的值。
更准确地讲,将在下述条件下更新mysql_insert_id():
·???????? 将值保存到AUTO_INCREMENT列中的INSERT语句。无论值是通过在列中存储特殊值NULL或0自动生成的,还是确切的非特殊值,都成立。
·???????? 在有多行INSERT语句的情况下,mysql_insert_id()返回第1个自动生成的AUTO_INCREMENT值,如果未生成这类值,将返回插入在AUTO_INCREMENT列中的最后1个确切值。
·???????? 通过将LAST_INSERT_ID(expr)插入到任意列中以生成AUTO_INCREMENT值的INSERT语句。