问题标签 [lastinsertid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2741 浏览

mysql - MySQL 和 LAST_INSERT_ID() 返回错误 id 的可能性

从我读过的内容LAST_INSERT_ID()中检索要运行的最后一个插入语句的 id。如果最后一个插入语句在您的连接上运行,或者最后一个插入在数据库上运行所有连接?我想我想问的是:在一个繁忙的数据库驱动的网站上,以下代码返回错误 ID 的可能性有多大,有没有一种方法可以防止这种情况发生,然后锁定数据库?

PHP会mysql_insert_id()是一个更好的解决方案,还是我应该只查询刚刚插入的数据并以这种方式获取ID?

0 投票
1 回答
785 浏览

postgresql - PostgreSQL 中最后插入的行 ID

我正在使用 postgresql 数据库。以前的表是我的前辈创建的,它们没有使用序列概念,而是手动添加数据。现在我需要用我的 java 应用程序插入数据。为此,我需要最后插入的 ID。我无权添加序列。
请任何人帮助我。
提前致谢...

0 投票
3 回答
6376 浏览

mysql - Rails 3 - 如何从 mysql 表中查找最后插入的 ID

在我的控制器中,我有以下命令序列:

我想知道,如何获取项目的 id,它会立即插入数据库......我试图谷歌搜索,但我找不到这个信息......

提前感谢您的提示

0 投票
1 回答
526 浏览

cakephp - 通过在 cakephp 中执行的最后一个查询获取所有插入记录的 id

我可以找到最后插入记录的主键 ID,如下所示:

我正在寻找这样的东西:

我正在插入 100 条记录,因此最好将它们全部插入到单个查询中。仍然需要几秒钟来执行用例。有没有办法通过最后一个查询获取所有插入记录的 id?

很多论坛都问过这个问题,但没有明确的答案。

0 投票
1 回答
3294 浏览

mysql - 如何使用 LAST_INSERT_ID() 从存储过程中退出

Mysql 版本 14.14 发行版 5.1.41

我有一个要编译的存储过程,但不断出现错误。我的存储过程准备一个插入语句,执行它,释放准备好的语句,然后尝试返回最后一个插入 ID。这是一个伪提取:

从我能够收集到的 mysql 版本中,可以在存储过程中使用准备好的语句。但是我得到的错误是。

正如错误所说,我无法从程序返回。但是我可以从程序中退出吗?我很难找到查询被 OUT'ed 的示例,我将如何从这个示例中做到这一点。

0 投票
1 回答
18009 浏览

mysql - mysql 在触发器中获取 last_insert_id()

我的理解是,当您调用 last_insert_id() 时,它会通过连接进行,因此您将获得插入到调用 last_insert_id() 的同一连接上的最后一行的 ID,对吗?

那么如果我在“AFTER INSERT”触发器中调用 last_insert_id() 怎么办?

我想做的基本上就是这个

'anothertable' 中的 id 与 'sometable' 中的 id 相同,这一点非常重要,这是否可行,或者我应该创建一个存储过程而不是插入两个表中?

或者可能有一些,在触发器中,从导致触发器触发的插入语句中获取值?我还没有找到任何相关的信息。

0 投票
1 回答
3128 浏览

php - 为什么 PDO::lastInsertId 返回 0?

这是我的代码。

我的日志说:

但是插入查询成功,创建了数据库记录,并且两个 errorInfo 输出都没有错误。

0 投票
1 回答
4053 浏览

php - Doctrine 2 - 如何在 PostPersist 中获取最后插入的 id 的 ID?

标题说明了一切。我在实体中有一个生命周期回调函数。我想从 PostPersist 事件而不是实体中获取最后插入的 id。作为一个我不想做的例子

在文档中是这样写的

postPersist - postPersist 事件在实体被持久化后发生在实体上。它将在数据库插入操作之后被调用。生成的主键值在 postPersist 事件中可用。

那么如何获取 postPersist 中的主键值呢?(我正在使用 Mappedsuperclass 并且 postpersist 函数在 Mappedsuperclass 中,因此它可用于扩展 Mappedsuperclass 的每个实体)谢谢。

0 投票
1 回答
933 浏览

php - 无法从 MySQL 获取最后插入的 ID

我根据 ID 将多行从一个表插入到另一个表。对于这个项目,我将 PDO 用于所有数据库查询。这是我正在使用的代码/功能:

但出于某种原因,我无法获得最后插入的 ID。如果我尝试SELECT LAST_INSERT_ID()Toad for MySQL我会得到一个结果,但它不是最后插入的行的 ID。

当我以这种方式插入行时,为什么没有注册最后插入的行 ID?
是因为我正在使用beginTransactioncommit因此它被作为一笔交易处理吗?

0 投票
1 回答
1321 浏览

php - PDO Mysql准备好的语句last_insert_id在多插入时返回错误值?

我注意到,如果我准备一个多插入语句并通过 PDO 将其执行到 MySQL 中,然后请求 last_insert_id,我会得到多个插入行的第一个 ID,而不是最后一个。具体来说:

将在一个空表上创建这些行:

但 last_insert_id 将返回“1”。这是一个已知问题还是我做错了什么?有人可以验证/测试/解释这一点吗?我不知道该怎么做才能获得正确的最后一个 ID,除了进行实际选择会慢得多。