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 和 COM
Oct 09 PHP
PHP 和 HTML
Oct 09 PHP
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
Mar 06 PHP
PHP register_shutdown_function函数的深入解析
Jun 03 PHP
php缓冲 output_buffering和ob_start使用介绍
Jan 30 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
Jan 13 PHP
你应该知道PHP浮点数知识
May 13 PHP
PHP中生成UUID自定义函数分享
Jun 10 PHP
php获取本机真实IP地址实例代码
Mar 31 PHP
利用PHP访问MySql数据库的逻辑操作以及增删改查的实例讲解
Aug 30 PHP
PHP实现网站访问量计数器
Oct 27 PHP
详解php用static方法的原因
Sep 12 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
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
2010/05/10 PHP
PHP编程计算两个时间段是否有交集的实现方法(不算边界重叠)
2017/05/30 PHP
经验几则 推荐
2006/09/05 Javascript
JS 自动完成 AutoComplete(Ajax 查询)
2009/07/07 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
js中function()使用方法
2013/12/24 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
jquery中each遍历对象和数组示例
2014/08/05 Javascript
javascript中this的四种用法
2015/05/11 Javascript
JS中的THIS和WINDOW.EVENT.SRCELEMENT详解
2015/05/25 Javascript
js流动式效果显示当前系统时间
2016/05/16 Javascript
js 声明数组和向数组中添加对象变量的简单实例
2016/07/28 Javascript
JS实现页面跳转参数不丢失的方法
2016/11/28 Javascript
node.js+jQuery实现用户登录注册AJAX交互
2017/04/28 jQuery
layui表格实现代码
2017/05/20 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
Swiper自定义分页器使用详解
2017/12/28 Javascript
JavaScript实现封闭区域布尔运算的示例代码
2018/06/25 Javascript
vue 项目 iOS WKWebView 加载
2019/04/17 Javascript
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
Python 连连看连接算法
2008/11/22 Python
python关键字and和or用法实例
2015/05/28 Python
python爬虫入门教程--优雅的HTTP库requests(二)
2017/05/25 Python
轻松实现TensorFlow微信跳一跳的AI
2018/01/05 Python
python numpy元素的区间查找方法
2018/11/14 Python
英国假发网站:Hothair
2018/02/23 全球购物
新学期校长寄语
2014/01/18 职场文书
企业车辆管理制度
2014/01/24 职场文书
篮球赛口号
2014/06/18 职场文书
个人租房协议书范本
2014/09/30 职场文书
2014年药房工作总结
2014/11/22 职场文书
公司副总经理岗位职责
2015/04/08 职场文书
指导老师鉴定意见
2015/06/05 职场文书
2015年国庆节演讲稿范文
2015/07/30 职场文书
2019年干货:自我鉴定
2019/03/25 职场文书
使用Redis实现实时排行榜功能
2021/07/02 Redis