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

摘要:
今天,我发现mysql_insert_ID()获取的新记录的ID不正确。虽然发现源代码事务编写中存在问题,但最根本的原因是我插入的数据的ID类型是bigint。有两种方法可以获取MySql中新记录的ID值。1.使用mysql_query语句;2.使用函数msyql_insert_id();MySQL版本intmysql_insert_ID在最后一次insert查询后返回_ INCREMENT定义的字段值。返回上一次INSERT操作生成的ID。

今天发现用mysql_insert_id()获取到的新增记录的id不正确,

虽然发现源代码的事务写的有问题,但是最根本的原因是,我插入数据的id类型是bigint型 

获取MySql新增记录ID值的方法有

1.使用语句

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

2.使用函数msyql_insert_id();

(1)mysql版

int mysql_insert_id ([ resource $link_identifier = NULL ] )

返回在最后一次执行了 INSERT 查询后,由 AUTO_INCREMENT 定义的字段的值。

返回上一步 INSERT 操作产生的 ID。如果上一查询没有产生 AUTO_INCREMENT 的 ID,则 mysql_insert_id() 返回 0

但是当id 为bigint 型时 就不在起作用了

(2)mysqli版

mixed mysqli_insert_id ( mysqli $link )

可根据结果的大小返回一个int或者string

3.使用查询

msyql_query("select last_insert_id()");

last_insert_id() 是mysql 函数 

该方法解决了 mysql_insert_id () 中遇到的 bigint 型问题 

last_insert_id() 返回的是 AUTO_INCREMENT 的 ID。 

如果返回为0,查看表结构中,没有设置AUTO_INCREMENT ;或者是不是用了 insert delay 的功能(不会返回即时的返回id值)

4.PDO里的函数

public string PDO::lastInsertId ([ string $name = NULL ] )

 返回最后插入行的ID或序列值

  

 

免责声明:文章转载自《PHP获取MySql新增记录ID值的方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQLServer中对Xml字段的操作IdentityServer4中文文档下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

图片批量上传,并生成缩略图demo

这是一个 图片批量上传的demo 选择多张图片,一次上传,并且生成缩略图以及原图。 index.php 选择文件  upload.php 上传文件  并生成缩略图  thumbnail.php 返回缩略图到浏览器 index.php 1 <?php 2 session_start(); 3 $_SESSION["file_i...

mysql与oracle的语法对比

数据类型 编号 ORACLE MYSQL 注释 1 NUMBER int / DECIMAL DECIMAL就是NUMBER(10,2)这样的结构INT就是是NUMBER(10),表示整型;MYSQL有很多类int型,tinyint mediumint bigint等,不同的int宽度不一样 2 Varchar2(n) va...

Windows安装mysql8.0

一、下载并解压 地址:https://dev.mysql.com/downloads/mysql/  如下图: 下载解压后 二、创建my.ini文件 在D:mysqlmysql-8.0.13-winx64下创建my.ini文件,里面写入: [mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysq...

.NET连接MySql数据库的方法及示例

方法一: 使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件。完成该组件后,需要在项目中引用这个组件,也可以直接在配置文件的<assemblies>节点内添加下面的节点: <add assembly="MySql.Data, Version=5...

php的下载与安装

一,进入到php的官方网站   https://www.php.net/   ,进入到下载页面: 选择 PHP 7.2.30 的Windows版本  具体的下载页面版本区分: 下载后,得到如下压缩包到如下目录   进入到php目录  D:wampphp7230 把文件  php.ini-development  复制一份,改名为  php.ini...

var_dump()函数输出不完整,有省略号?解决办法

php开发环境里,安装了xdebug模块后,var_dump()输出的结果将比较易于查看,但默认情况下,var_dump() 输出的结果将有所变化:过多的数组元素不再显示,字符串变量将只显示前N个字符,较深的数组元素也被显示成省略号。这点会带来一些不便,我们修改配置文件,设置这些。在php.ini里的xdebug节点中,加入如下xdebug.var_dis...