问题标签 [last-insert-id]

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 投票
5 回答
4212 浏览

php - 如何在 mysql-php 中检索所有最后插入的行 ID?

有没有任何有效的方法可以使用 php 从 mysql 数据库中检索所有最后插入的行自动递增的 ID?假设我不知道批量插入多少行,但插入后我需要它们的所有 ID。

谷歌搜索后,我没有找到任何有效的方法来做到这一点,所以我不确定这是否可能。我可以关注这个,但必须多次访问数据库才能检索 ID。

谢谢你

0 投票
1 回答
465 浏览

mysql - vb.net mysql Last_Insert_ID 导致双数据库条目?

我无法弄清楚为什么每次执行子例程时都会得到一个双 DB 条目。我想我有一个想法,我认为这很简单,但我不知道如何解决它。感谢任何人都可以提供的任何帮助。

这是我的数据源:

以及子的相关部分:

和事件处理程序:

我实际上是在运行两次插入吗?一次使用 sqlvoted.insert() 命令,一次使用 cmd.ExecuteScalar?这是我最好的猜测,但我不知道如何将两者合并为一个。

谢谢!

0 投票
1 回答
61 浏览

php - 在同一页面上设置后立即获取 ID

Thread_Body 中的 ThreadID 需要是 Thread_Titles id 的 id。我该怎么做呢?

这是所有期望形式的代码。

0 投票
1 回答
34 浏览

mysql - 在查询中检索和使用自动增量值

我的问题与在查询中检索和使用自动增量值有关

我有三个表,tab1、tab2 和 tab3。

tab1 与 tab3 有 1 对 1 的关系(我知道非 TNF,但由于时间问题是必要的)

tab2 与 tab3 具有多对一的关系。

过去,当 tab1 和 tab2 之间存在一对一关系时,tab3 没有条目。我想在 tab3 中创建缺失的记录。tab1 和 tab2 包含一个外键字段 tab3_id。

基于 tab1 和 tab2 中 col2 的共同值,(实际上并不那么简单,但可以解决这个问题)我可以轻松地在 tab3 中创建记录

(为简单起见,我省略了检查以确保 tab3 中没有链接记录)

但是我不知道如何捕获idtab3的主键()的自动递增值以更新tab1和tab2。我搜索了 MYSQL 文档、Stack Overflow 和更一般的 google 搜索,但一无所获。

实际上是否可以在上面的某处插入更新语句并捕获 LAST_INSERT_ID() 并在更新中使用它。

0 投票
1 回答
4539 浏览

php - lastInsertId() 在插入操作中不适用于 PDO 对象

我使用以下选项初始化类:

然后我的行为是这样的

那是因为在 INSERT 之后我需要返回最后插入的 id。但有人告诉我 lastInsertId() 不是函数。所以它不起作用。

任何的想法?也许错误的选择?谢谢你

0 投票
1 回答
389 浏览

php - PDO::lastInsertID 有时不起作用

当我得到 lastInsertId() 时,我的 pdo 连接发生了一些奇怪的事情:在 90% 的情况下它运行良好,但在 10% 的情况下它返回 0(我不知道是真的 0 还是 FALSE)。但在 100% 的情况下,我的记录已成功插入。

这是我的代码:

我的记录已插入,但“if ($idPessoa > 0)”有时不起作用,这意味着 $idPessoa 为 0 或 FALSE。

有什么线索吗?

非常感谢!

0 投票
2 回答
147 浏览

php - 我在 php 和 mysql 中使用 LAST_INSERT_ID() 但我无法得到结果。为什么?

我做对了吗?还是我错了?

很感谢!!

0 投票
0 回答
663 浏览

mysql - SELECT LAST_INSERT_ID() 不适用于 MySQL 5.6.11 上的 BIGINT

我有一个 BIGINT 字段作为 MySQL Innodb 表上的自动增量和主键,运行 MySQL Community Server 5.6.11。

在调用一个基本的 INSERT 语句,然后调用 SELECT LAST_INSERT_ID() 之后,我总是返回 0,即使 INSERT 语句是成功的。

任何想法为什么会发生这种情况。

更新:这是我的表定义

这是我的 INSERT 语句

0 投票
1 回答
338 浏览

mysql - SELECT LAST_INSERT_ID() 在 MySQL 5.6.11 上使用触发器时不使用 BIGINT

我在上一篇文章“ SELECT LAST_INSERT_ID() Not working with BIGINT on MySQL 5.6.11 ” 之后发布了一个新问题

无论如何,经过进一步调查后,我发现 LAST_INSERT_ID() 不起作用,因为我有一个问题表上的触发器 BeforeInsert。

所以基本上我的问题是在 INSERT 语句之后调用 LAST_INSERT_ID() 时它返回 0,因为我在这个表上有一个 BeforeInsert 作为触发器。如果我注释掉这个触发器,它可以正常工作,并且 LAST_INSERT_ID() 给了我正确的数字。

有什么想法可以解决这个问题吗?下面是触发器

0 投票
1 回答
1577 浏览

php - 如何获取在mysql中使用“REPLACE INTO”时受到影响的行的ID

我正在使用REPLACE INTO命令在 MySQL 表中插入/更新记录。但是我想获得受REPLACE INTO.

我用lastInsertId()withINSERT INTO但在这里没用,因为如果我的记录已经存在,那么使用lastInsertId()with REPLACE INTO,我会得到错误的 ID。

那么 MySQL + php + PDO 中是​​否存在任何函数来获取该 ID?