问题标签 [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 投票
2 回答
3776 浏览

mysql - last_insert_id() 与 SELECT Max(ID)

使用 SELECT Max(ID) FROM table 是否比使用 SELECT last_insert_id() 更安全,它们作为 2 个单独的查询运行?

我担心在 last_insert_id() 可以运行之前,会发生另一个插入。

0 投票
2 回答
670 浏览

mysql - mySQL 5.0.45 LAST_INSERT_ID() 和大于有符号整数的值

我正在尝试在已超过有符号整数值 2147483647 的自动递增索引上使用 LAST_INSERT_ID。此列是无符号整数。但是, LAST_INSERT_ID() 返回无效的负值。研究这个,我发现了一些评论表明这是这个函数的本质。但我找不到它正式记录。有一些可以追溯到几年前的错误报告仍然存在。

所以我需要知道这是否真的是一个已知的错误和/或我是否可以对此做些什么。我需要将 mySQL 升级到更新版本吗?

0 投票
7 回答
30824 浏览

php - 通过 PHP 使用 LAST_INSERT_ID()?

当我在 MySQL 控制台中执行以下命令时,它工作正常:

但是,当我通过 PHP 执行上述查询时,结果为空。

在数据抽象下,我使用了一个名为DB. 这就是我通过 PHP 尝试上述查询的方式:

通过 embed_code 选择新 id 对我来说是不可靠的,因为 embed_code 可能会重复。

谢谢!

0 投票
8 回答
110490 浏览

php - 使用学说 2 获取最后一个插入 id?

如何使用学说 2 ORM 获取最后一个插入 ID?我在教义文档中没有找到这一点,这甚至可能吗?

0 投票
2 回答
1905 浏览

sql - 批量插入是原子的吗?

我有带有自动增量主键的表。我想在其中插入一堆数据并为每个数据获取密钥,而无需额外查询。

MySQL 能否保证所有数据都将插入一个连续的有序流中,以便我可以轻松计算每个元素的 id?

0 投票
3 回答
1069 浏览

mysql - 之前:获取最后插入的 id - mysql 现在:我们应该在哪里调用最后插入的 id?

事情是这样的,我无权访问将数据插入给定表的代码。但是,我需要将相关的附加数据添加到另一个表中。所以,我正在考虑获取最后插入的 ID,然后从那里......将相关数据插入到另一个表中。

由于我无权访问该语句,因此我相信mysql last insert id功能在这里没有用。

我看到的所有 PDO::lastInsertId 示例也附加到它之前的一些“插入查询”,所以也没有用。

如果我们无权访问原始插入语句,如何获取最后插入的 ID?

数据流:从这里开始:signup.tpl 我们有:

js上,我们有:

所以,现在,让我们在index.php中查找“validatecheckout” ,我们找到了它:

我们无法阅读有关插入的任何内容。紧随其后的是,在条件语句之后-对吗?

提前致谢, MEM

0 投票
10 回答
74064 浏览

android - 从sqlite数据库Android获取最后插入的值

我正在尝试从 Android 中的 sqlite 数据库中获取最后插入的 rowid。我已经阅读了很多关于它的帖子,但无法让一个工作。这是我的方法:

我试过 MAX,但我一定是用错了。还有其他方法吗?

0 投票
2 回答
3231 浏览

mysql - 当有 UPDATE 触发器时,ON DUPLICATE KEY UPDATE 不起作用

我有一个INSERT看起来像这样的声明:

这种做法一直运作良好。当我添加以下触发器时它停止工作:

并不是officer没有插入记录。似乎触发器正在劫持LAST_INSERT_ID()或其他什么。我这样说是因为执行的下一个查询是这样的:

由于我已经使用相同的确切文件运行了几十个成功的导入,我没有更改我的代码,现在我添加这个触发器后我的导入不起作用,我必须推断触发器是罪魁祸首。我在另一个表中遇到了类似的情况,删除触发器解决了这个问题。

所以我的问题是:

  1. 有人可以解释一下具体是什么导致我的官员 ID 设置为 0 吗?
  2. 这个问题有什么好的解决方案?

我有另一个触发器officer.created_at(以及许多其他表created_at),我宁愿避免某种尴尬的解决方案,即我有一个触发器created_at但一个DEFAULT CURRENT_TIMESTAMPon updated_at。出于某种原因,MySQL 只允许每个表有一个自动时间戳,所以我不能CURRENT_TIMESTAMP同时为created_atupdated_at.

这是SHOW CREATE TABLEfor officer

0 投票
1 回答
2682 浏览

kohana - Kohana 3 中的 insert_id

我将 Kohana 3 框架与 Mysql 存储过程一起使用。如何获取最后插入记录的 id?这是代码:

文档说,query() 方法在执行插入查询时返回一个数组,其中包含最后一个插入 id 和受影响的行号。当我调用: print_r($result) 我得到: Array ( [0] => 0 [1] => 1 ) insert_id 键为 0,尽管我在数据库中有很多记录。我做错了什么?

0 投票
1 回答
3666 浏览

c# - Informix:如何获取最后一个插入语句的 rowid

这是我之前提出的一个问题的扩展:C#:如何获取使用 Informix 插入的最后一行的 ID 号

我正在用 C# 编写一些代码,以使用 .NET Informix 驱动程序将记录插入到 informix 数据库中。我能够获得最后一次插入的 id,但在我的一些表中,没有使用“serial”属性。我一直在寻找类似于以下的命令,但要获取 rowid 而不是 id。

SELECT DBINFO ('sqlca.sqlerrd1') FROM systables WHERE tabid = 1;

是的,我确实意识到使用 rowid 是危险的,因为它不是恒定的。但是,我计划让我的应用程序强制客户端应用程序重置数据,如果表以某种方式更改 rowid 或类似的方式。