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 相关文章推荐
一个程序下载的管理程序(一)
Oct 09 PHP
php.ini中的php-5.2.0配置指令详解
Mar 27 PHP
PHP入门之常量简介和系统常量
May 12 PHP
ThinkPHP权限认证Auth实例详解
Jul 22 PHP
调试PHP程序的多种方法介绍
Nov 06 PHP
php对文件进行hash运算的方法
Apr 03 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
php+mysql实现简单登录注册修改密码网页
Nov 30 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
Jun 06 PHP
浅析PHP类的反射来实现依赖注入过程
Feb 06 PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
May 25 PHP
浅谈php的TS和NTS的区别
Mar 13 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
十天学会php之第九天
2006/10/09 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
PHP根据两点间的经纬度计算距离
2014/10/31 PHP
PHP基于yii框架实现生成ICO图标
2015/11/13 PHP
ThinkPHP连接Oracle数据库
2016/04/22 PHP
php中file_get_contents()函数用法实例
2019/02/21 PHP
JavaScript 检测浏览器和操作系统的脚本
2008/12/26 Javascript
Javascript 面向对象 继承
2010/05/13 Javascript
javascript中数组的sort()方法的使用介绍
2013/12/18 Javascript
jQuery实现动画效果的简单实例
2014/01/27 Javascript
jQuery中使用each处理json数据
2015/04/23 Javascript
JS+CSS实现TreeMenu二级树形菜单完整实例
2015/09/18 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
如何获取vue单文件自身源码路径
2019/05/06 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
vue实现扫码功能
2020/01/17 Javascript
八种Vue组件间通讯方式合集(推荐)
2020/08/18 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
如何检测JavaScript中的死循环示例详解
2020/08/30 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
[48:37]EG vs OG 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
使用Python生成随机密码的示例分享
2016/02/18 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
2018/10/29 Python
Python实现的读取文件内容并写入其他文件操作示例
2019/04/09 Python
详解Python实现进度条的4种方式
2020/01/15 Python
python实现图片素描效果
2020/09/26 Python
Python利用imshow制作自定义渐变填充柱状图(colorbar)
2020/12/10 Python
HTML5 body设置自适应全屏
2020/05/07 HTML / CSS
小学数学课题方案
2014/06/15 职场文书
班子四风对照检查材料
2014/08/21 职场文书
培训心得体会怎么写
2016/01/25 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
vue自定义右键菜单之全局实现
2022/04/09 Vue.js