PHP获取MySql新增记录ID值的3种方法


Posted in PHP onJune 24, 2014

一、使用语句:
 

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

使用此方法得到的是 id最大的值,确为最后一个值,但当多链接线程时,这个最大的id并不一定是我们插入数据的自增id值,因此不适用于多线程。

二,使用函数:msyql_insert_id();

在PHP中,经常需要把插入数据库中的id值取出来,而正好有这么一个函数:

<?php

//执行插入数据库的语句

//……

$getID=mysql_insert_id();//$getID即为最后一条记录的ID
//此函数的使用条件:

//1.假设字段名称为recordID

//2.字段属性须设为:auto_increment

//3.添加数据后使用

//$newID = mysql_insert_id();

//得到ID值

 ?>

PHP 函数 mysql_insert_id() 是返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值。

当系统执行完INSERT后,再执行SELECT时,可能已经被分发到了不同的后端服务器,如果使用php编程,此时应该通过 mysql_insert_id()来得到最新插入的id,每次INSERT结束后,其实对应的autoincrement值就已经计算好返回给PHP 了,你无需再发出一次独立的查询,直接用mysql_insert_id()即可。
当插入一条语句时,它自动返回最后的id(mysql自增值)。
并且此函数仅对当前链接有用,即它是多用户安全型的。
建议使用此函数;
问题:当id 为bigint 型时 就不在起作用了。

三、使用查询
 

msyql_query("select last_insert_id()");

last_insert_id() 是mysql 一个函数 也是 对当前链接起效
此用法 解决了 mysql_insert_id () 中遇到的 bigint 型问题
总结:
推荐使用方法二,特殊情况下,可以考虑方法三。
PHP 相关文章推荐
PHP设计聊天室步步通
Oct 09 PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
PHP $_FILES中error返回值详解
Jan 30 PHP
php数组排序usort、uksort与sort函数用法
Nov 17 PHP
php循环table实现一行两列显示的方法
Jun 04 PHP
搭建Vim为自定义的PHP开发工具的一些技巧
Dec 11 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
Dec 18 PHP
php文件类型MIME对照表(比较全)
Oct 07 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
微信第三方登录(原生)demo【必看篇】
May 26 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十)
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
Jun 24 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
Jun 23 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(七)
Jun 23 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
Jun 23 #PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
Jun 23 #PHP
You might like
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
thinkphp实现发送邮件密码找回功能实例
2014/12/01 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
用JS操作FRAME中的IFRAME及其内容的实现代码
2008/07/26 Javascript
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
js 模拟实现类似c#下的hashtable的简单功能代码
2010/01/24 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
仿中关村在线首页弹出式广告插件(jQuery版)
2012/05/03 Javascript
FF火狐下获取一个元素同类型的相邻元素实现代码
2012/12/15 Javascript
js去除重复字符串两种实现方法
2013/01/09 Javascript
首页图片漂浮效果示例代码
2014/06/05 Javascript
js闭包的用途详解
2014/11/09 Javascript
jquery实现轮播图效果
2017/02/13 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
JS 中使用Promise 实现红绿灯实例代码(demo)
2017/10/20 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
vue组件暴露和.js文件暴露接口操作
2020/08/11 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
python+opencv实现阈值分割
2018/12/26 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
python垃圾回收机制(GC)原理解析
2019/12/30 Python
基于Python组装jmx并调用JMeter实现压力测试
2020/11/03 Python
python中zip()函数遍历多个列表方法
2021/02/18 Python
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
汇科协同Java笔试题
2012/03/31 面试题
人力资源经理的岗位职责范本
2014/02/28 职场文书
2014年开学第一课活动方案
2014/03/06 职场文书
春节请假条
2014/04/11 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
2015最新婚礼司仪主持词
2015/06/30 职场文书
2016年质量月活动总结报告
2016/04/05 职场文书
导游词之南京莫愁湖公园
2019/11/13 职场文书