问题标签 [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.
mysql - MySQL 和 LAST_INSERT_ID() 返回错误 id 的可能性
从我读过的内容LAST_INSERT_ID()
中检索要运行的最后一个插入语句的 id。如果最后一个插入语句在您的连接上运行,或者最后一个插入在数据库上运行所有连接?我想我想问的是:在一个繁忙的数据库驱动的网站上,以下代码返回错误 ID 的可能性有多大,有没有一种方法可以防止这种情况发生,然后锁定数据库?
PHP会mysql_insert_id()
是一个更好的解决方案,还是我应该只查询刚刚插入的数据并以这种方式获取ID?
postgresql - PostgreSQL 中最后插入的行 ID
我正在使用 postgresql 数据库。以前的表是我的前辈创建的,它们没有使用序列概念,而是手动添加数据。现在我需要用我的 java 应用程序插入数据。为此,我需要最后插入的 ID。我无权添加序列。
请任何人帮助我。
提前致谢...
mysql - Rails 3 - 如何从 mysql 表中查找最后插入的 ID
在我的控制器中,我有以下命令序列:
我想知道,如何获取项目的 id,它会立即插入数据库......我试图谷歌搜索,但我找不到这个信息......
提前感谢您的提示
cakephp - 通过在 cakephp 中执行的最后一个查询获取所有插入记录的 id
我可以找到最后插入记录的主键 ID,如下所示:
我正在寻找这样的东西:
我正在插入 100 条记录,因此最好将它们全部插入到单个查询中。仍然需要几秒钟来执行用例。有没有办法通过最后一个查询获取所有插入记录的 id?
很多论坛都问过这个问题,但没有明确的答案。
mysql - 如何使用 LAST_INSERT_ID() 从存储过程中退出
Mysql 版本 14.14 发行版 5.1.41
我有一个要编译的存储过程,但不断出现错误。我的存储过程准备一个插入语句,执行它,释放准备好的语句,然后尝试返回最后一个插入 ID。这是一个伪提取:
从我能够收集到的 mysql 版本中,可以在存储过程中使用准备好的语句。但是我得到的错误是。
正如错误所说,我无法从程序返回。但是我可以从程序中退出吗?我很难找到查询被 OUT'ed 的示例,我将如何从这个示例中做到这一点。
mysql - mysql 在触发器中获取 last_insert_id()
我的理解是,当您调用 last_insert_id() 时,它会通过连接进行,因此您将获得插入到调用 last_insert_id() 的同一连接上的最后一行的 ID,对吗?
那么如果我在“AFTER INSERT”触发器中调用 last_insert_id() 怎么办?
我想做的基本上就是这个
'anothertable' 中的 id 与 'sometable' 中的 id 相同,这一点非常重要,这是否可行,或者我应该创建一个存储过程而不是插入两个表中?
或者可能有一些,在触发器中,从导致触发器触发的插入语句中获取值?我还没有找到任何相关的信息。
php - 为什么 PDO::lastInsertId 返回 0?
这是我的代码。
我的日志说:
但是插入查询成功,创建了数据库记录,并且两个 errorInfo 输出都没有错误。
php - Doctrine 2 - 如何在 PostPersist 中获取最后插入的 id 的 ID?
标题说明了一切。我在实体中有一个生命周期回调函数。我想从 PostPersist 事件而不是实体中获取最后插入的 id。作为一个我不想做的例子
在文档中是这样写的
postPersist - postPersist 事件在实体被持久化后发生在实体上。它将在数据库插入操作之后被调用。生成的主键值在 postPersist 事件中可用。
那么如何获取 postPersist 中的主键值呢?(我正在使用 Mappedsuperclass 并且 postpersist 函数在 Mappedsuperclass 中,因此它可用于扩展 Mappedsuperclass 的每个实体)谢谢。
php - 无法从 MySQL 获取最后插入的 ID
我根据 ID 将多行从一个表插入到另一个表。对于这个项目,我将 PDO 用于所有数据库查询。这是我正在使用的代码/功能:
但出于某种原因,我无法获得最后插入的 ID。如果我尝试SELECT LAST_INSERT_ID()
,Toad for MySQL
我会得到一个结果,但它不是最后插入的行的 ID。
当我以这种方式插入行时,为什么没有注册最后插入的行 ID?
是因为我正在使用beginTransaction
,commit
因此它被作为一笔交易处理吗?
php - PDO Mysql准备好的语句last_insert_id在多插入时返回错误值?
我注意到,如果我准备一个多插入语句并通过 PDO 将其执行到 MySQL 中,然后请求 last_insert_id,我会得到多个插入行的第一个 ID,而不是最后一个。具体来说:
将在一个空表上创建这些行:
但 last_insert_id 将返回“1”。这是一个已知问题还是我做错了什么?有人可以验证/测试/解释这一点吗?我不知道该怎么做才能获得正确的最后一个 ID,除了进行实际选择会慢得多。