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 相关文章推荐
一个ubbcode的函数,速度很快.
Oct 09 PHP
php 信息采集程序代码
Mar 17 PHP
ubuntu10.04配置 nginx+php-fpm模式的详解
Jun 03 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
php function用法如何递归及return和echo区别
Mar 07 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
微信公众平台消息接口校验与消息接口响应实例
Dec 23 PHP
PHP实现的QQ空间g_tk加密算法
Jul 09 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
windows8.1下Apache+Php+MySQL配置步骤
Oct 30 PHP
yii2.0实现创建简单widgets示例
Jul 18 PHP
Laravel 5.5官方推荐的Nginx配置学习教程
Oct 06 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
微博短链接算法php版本实现代码
2012/09/15 PHP
php计算税后工资的方法
2015/07/28 PHP
基于jquery的15款幻灯片插件
2011/04/10 Javascript
最常用的12种设计模式小结
2011/08/09 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
javascript基础知识分享之类与函数化
2016/02/13 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
Node.js和Express简单入门介绍
2017/03/24 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
vue2.0+ 从插件开发到npm发布的示例代码
2018/04/28 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
nuxt引入组件和公共样式的操作
2020/11/05 Javascript
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
wxPython中文教程入门实例
2014/06/09 Python
Python使用CMD模块更优雅的运行脚本
2015/05/11 Python
Python的Flask框架中使用Flask-Migrate扩展迁移数据库的教程
2016/06/14 Python
Python3中简单的文件操作及两个简单小实例分享
2017/06/18 Python
python图像常规操作
2017/11/11 Python
pandas 透视表中文字段排序方法
2018/11/16 Python
Tensorflow:转置函数 transpose的使用详解
2020/02/11 Python
python实现猜单词游戏
2020/05/22 Python
python主要用于哪些方向
2020/07/05 Python
Python如何重新加载模块
2020/07/29 Python
html5的canvas方法使用指南
2014/12/15 HTML / CSS
HTML5+CSS3模仿优酷视频截图功能示例
2017/01/05 HTML / CSS
shell程序如何生命变量?shell变量是弱变量吗?
2014/11/10 面试题
总经理助理岗位职责范本
2014/07/20 职场文书
领导干部四风问题自我剖析材料
2014/09/25 职场文书
三提三创主题教育活动查摆整改措施
2014/10/25 职场文书
学前班学生评语
2014/12/29 职场文书
上下班时间调整通知
2015/04/23 职场文书