首页 > 开发 > php > 正文

php 获取最后插入数据的id

2015-08-30 22:56:19  来源: 网友分享

获取MySQL数据库中刚刚插入数据的id 这对我们很有用 下面我说出常用的三种

方法并一一分析其利与弊

一 用以下语句:

mysql_query("select max(id) from t1",$link);

使用这种方法时 我们得到得是 id最大的值 的确时最后一个 但当多链接线程时

这个最大的id并不一定是 我们插入的所以这个不利用域线程

二 用以下函数:

msyql_insert_id();

当系统执行完INSERT后,再执行SELECT时,可能已经被分发到了不同的后端服务器

,如果你使用的编程语言是PHP的话,此时应该通过 mysql_insert_id()来得到最新插入的id,

每次INSERT结束后,

其实对应的autoincrement值就已经计算好返回给PHP 了,你无需再发出一次独立的查询,

直接用mysql_insert_id()就可以了

这个函数很好用 当我们插入一条语句时 它自动返回了 最后的id值

并且此函数 仅对当前链接有用 也就是说 它是多用户安全型的

所以我们经常用此函数;

但此函数有一个问题 就是 当id 为bigint 型时 就不在起作用了 所以 现在 正在用此函数的请小心了

不过 我们平时很少遇到这样的问题,所以可以不用管它

三:用一下查询

msyql_query("select last_insert_id()");

last_insert_id() 是mysql 一个函数 也是 对当前链接起效

此用法 解决了 mysql_insert_id () 中遇到的 bigint 型问题