最近在做一个小东西的时候,发现mysql有last_insert_id()这个函数
它的用法如下:记录下来备忘
它必需紧跟在insert 语句执行之后。
//执行insert语句先
$sql="insert into table (name1,name2,...) values('value1','values'...)";
dbx_query($db_link,$sql);
//找出最后一次插入记录的id
$select="select last_insert_id() ";
$result=dbx_query($db_link,$select);
$last_id=$result->data[0][0];
ps: $last_id=mysql_insert_id();
mysql_insert_id() 将 MySQL 内部的 C API 函数 mysql_insert_id() 的返回值转换成 long(PHP 中命名为 int)。如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysql_insert_id() 返回的值将不正确。可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代。
具体的请看php手册: mysql_insert_id
分享到:
相关推荐
在MySQL数据库中,LAST_INSERT_ID()函数是一个非常实用的工具,尤其在处理多表关联或者需要获取最新插入记录的自增ID时。该函数的主要作用是返回最近一次执行的INSERT或UPDATE语句对具有AUTO_INCREMENT属性的列所...
在MySQL中,`last_insert_id()` 是一个非常有用的函数,它允许我们获取最后一条INSERT操作自动生成的ID值。这个函数通常与具有自动增长特性的主键字段一起使用,例如INT类型的`id`字段,当插入新记录时,MySQL会自动...
MySQL数据库管理系统中,LAST_INSERT_ID() 函数和 mysql_insert_id() 函数都可以用来获取最近一次INSERT操作生成的自增ID值。在PHP开发中,正确地使用这两个函数对于确保数据一致性及避免并发问题至关重要。本知识...
标题提到的"MYSQL 小技巧 — LAST_INSERT_ID"着重讨论了MySQL中获取自增ID的两种方法:`LAST_INSERT_ID()`和`mysql_insert_id()`的区别以及它们在不同情况下的适用性。 首先,`LAST_INSERT_ID()`函数是MySQL提供的...
在MySQL中,`last_insert_id()`是一个用于获取最后通过`INSERT`语句生成的自增ID的函数,尤其在自增主键列上非常有用。在大多数情况下,当你插入一条新记录并需要获取这个新生成的ID时,这个函数会派上用场。 在...
为了解决这个问题,我们可以利用MySQL的`LAST_INSERT_ID()`函数来生成并追踪各分表的唯一ID。 首先,我们需要创建一个单独的表,例如`ticket_mutex`,用于存储不同业务的ID值。这个表包含两个字段:`name`用于标识...
当遇到`bigint`类型的ID时,可以使用MySQL的内置函数`LAST_INSERT_ID()`来解决`mysql_insert_id()`的问题,如下所示: ```php $result = mysql_query("SELECT LAST_INSERT_ID()", $link); ``` `LAST_INSERT_ID...
`mysql_insert_id()`函数就是为了解决这一问题而设计的。它允许开发者在成功执行一个INSERT语句后,获取到自增ID,这对于追踪和管理数据库中的记录至关重要。 **前言** 在处理数据库事务时,特别是在内容管理系统或...
在某些数据库系统中,可以通过内置的函数来实现这一点,而在MySQL中,我们可以使用`LAST_INSERT_ID()`函数来达到目的。`LAST_INSERT_ID()`函数返回的是最后通过`INSERT`语句产生的`AUTO_INCREMENT`值。为了确保正确...
需要注意的是,使用`LAST_INSERT_ID()`函数的方式可能不够安全,尤其是在并发环境下,因为它依赖于最后插入记录的操作。相比之下,使用`getGeneratedKeys()`方法更为推荐。 #### 四、总结 通过上述分析,我们可以...
总结来说,`LAST_INSERT_ID()`和`@@IDENTITY`是两种用于获取新插入数据ID的方法,它们分别适用于MySQL和SQL Server。在设计和编写数据库操作的代码时,理解这些函数的工作原理以及它们在并发环境中的行为是非常重要...
总之,理解并有效利用MySQL的事务特性,如InnoDB的行级锁定和`LAST_INSERT_ID()`函数,可以在并发环境下保证自增ID的安全生成,避免冲突和重复。对于大型分布式系统,这样的设计是必不可少的,能够为业务逻辑提供...
一种可能的解决方案是使用`LAST_INSERT_ID()`函数配合`SELECT...FOR UPDATE`语句。当多个并发线程尝试获取新的ID时,每个线程都会锁定表中的特定行,然后通过`LAST_INSERT_ID()`获取当前的ID并增加它。这样可以确保...
- **标准方法:** 使用`INSERT`语句插入数据后,可以通过`LAST_INSERT_ID()`函数或`getGeneratedKeys()`方法来获取刚插入记录的自增ID。 - **示例代码:** 下面的Java示例展示了如何使用JDBC API来插入一条记录并...