文档章节

php 获取最后插入数据的id

 武当剑客
发布于 2014/10/27 21:55
字数 455
阅读 4202
收藏 6
向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 型问题


总结: 根据以上分析 第一种方法 尽量少用 多用第二种方法 当遇到特殊情况时 可以考虑用第三种方法

本文转载自:http://blog.sina.com.cn/s/blog_3f8e41370100ijd3.html

粉丝 8
博文 76
码字总数 3599
作品 0
十堰
私信 提问
最新用的PHP mysql类

} ?> /* 用法: 连接$db=new DB($dbhost, $dbuser, $dbpw, $dbname); *** 查询:get_one($sql); 查一条记录get_row($sql); 查一条记录 (习惯用这个名) get_all($sql); 查多条记录get_rows(......

史帝文
2016/06/01
63
0
写一个“特殊”的查询构造器 - (七、DML 语句、事务)

查询语句 (DQL) 的构造功能开发完毕,我们再给查询构造器增加一些对 DML (Data Manipulation Language) 语句的支持,如简单的 insert、update、delete 操作。 insert 我们先回顾下 PDO 原生的...

MrQ被抢注了
2018/05/23
0
0
PHP处理从HTML接收的图、文数据并进行有序混排

以新闻作为例子 问题:新闻内容有标题(title)、图片(image)、文字(content)三种数据存在形式,我从HTML获取的数据是三组数组:title[]、image[]、content[];这三个数组的元素需要按顺序存进...

满头大汉
2015/08/20
52
0
使用phpQuery+curlMulity,实现文章采集...

//1.首先,你得创建一张表,叫采集表,,如果你只是简单地几条链接,可以手动录入,如果比较多的话,就需要自己用方法,写个for循环,匹配一些规则生成url,存储在表内. 这是表数据 2.开始进入代码,首先...

老bia同学
05/16
39
0
php中PDO处理mysql 基本操作

一 :php连接mysql 代码: <?php $servername = "127.0.0.1"; $username = "username"; $password = "password"; try { $conn = new PDO("mysql:host=$servername;dbname=mysql", $username,......

fjxichao
2015/01/14
201
2

没有更多内容

加载失败,请刷新页面

加载更多

关于谷歌浏览器崩溃,打不开任何界面

首先:谷歌浏览器右键打开属性,在箭头所指的位置复制粘贴 -no-sandbox。(需要空一格再写入 -no-sandbox) 其次:你打开谷歌浏览器可以看到如下提醒,提醒你,稳定性和安全性会有所下降,但...

Raphael98
17分钟前
2
0
java 删除文件夹下的文件

/** * 删除已经下载过的文件 * @param path * @return */ @ApiOperation(value = "删除已经下载过的Excel",httpMethod="",notes="") @GetMapping("/deleteExcel") public Object downLoad(@......

简小姐
17分钟前
3
0
如何安装GMP,MPFR,MPC,ELF,无需共享库?

如何使用当前版本, 使用正确版本的依赖关系,不使用包管理器(如yum,rpm,apt,dpkg)并且不使用共享库,来逐块安装GCC(GNU编译器集合)? 典型的开发人员可能希望以典型的方式安装GCC,使...

mskk
20分钟前
2
0
Rancher + VMware PKS实现全球数百站点的边缘K8S集群管理

Sovereign Systems是一家成立于2007年的技术咨询公司,帮助客户将传统数据中心技术和应用程序转换为更高效的、基于云的技术平台,以更好地应对业务挑战。曾连续3年提名CRN,并且在2012年到2...

RancherLabs
25分钟前
2
0
docker修改log-driver后启动失败问题解决

vi /etc/sysconfig/docker 去掉--log-driver=journald 重启docker,重新run一个容器

abowu
27分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部