问题标签 [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 - last_insert_id() 与 SELECT Max(ID)
使用 SELECT Max(ID) FROM table 是否比使用 SELECT last_insert_id() 更安全,它们作为 2 个单独的查询运行?
我担心在 last_insert_id() 可以运行之前,会发生另一个插入。
mysql - mySQL 5.0.45 LAST_INSERT_ID() 和大于有符号整数的值
我正在尝试在已超过有符号整数值 2147483647 的自动递增索引上使用 LAST_INSERT_ID。此列是无符号整数。但是, LAST_INSERT_ID() 返回无效的负值。研究这个,我发现了一些评论表明这是这个函数的本质。但我找不到它正式记录。有一些可以追溯到几年前的错误报告仍然存在。
所以我需要知道这是否真的是一个已知的错误和/或我是否可以对此做些什么。我需要将 mySQL 升级到更新版本吗?
php - 通过 PHP 使用 LAST_INSERT_ID()?
当我在 MySQL 控制台中执行以下命令时,它工作正常:
但是,当我通过 PHP 执行上述查询时,结果为空。
在数据抽象下,我使用了一个名为DB
. 这就是我通过 PHP 尝试上述查询的方式:
通过 embed_code 选择新 id 对我来说是不可靠的,因为 embed_code 可能会重复。
谢谢!
php - 使用学说 2 获取最后一个插入 id?
如何使用学说 2 ORM 获取最后一个插入 ID?我在教义文档中没有找到这一点,这甚至可能吗?
sql - 批量插入是原子的吗?
我有带有自动增量主键的表。我想在其中插入一堆数据并为每个数据获取密钥,而无需额外查询。
MySQL 能否保证所有数据都将插入一个连续的有序流中,以便我可以轻松计算每个元素的 id?
mysql - 之前:获取最后插入的 id - mysql 现在:我们应该在哪里调用最后插入的 id?
事情是这样的,我无权访问将数据插入给定表的代码。但是,我需要将相关的附加数据添加到另一个表中。所以,我正在考虑获取最后插入的 ID,然后从那里......将相关数据插入到另一个表中。
由于我无权访问该语句,因此我相信mysql last insert id功能在这里没有用。
我看到的所有 PDO::lastInsertId 示例也附加到它之前的一些“插入查询”,所以也没有用。
如果我们无权访问原始插入语句,如何获取最后插入的 ID?
数据流:从这里开始:signup.tpl 我们有:
在js上,我们有:
所以,现在,让我们在index.php中查找“validatecheckout” ,我们找到了它:
我们无法阅读有关插入的任何内容。紧随其后的是,在条件语句之后-对吗?
提前致谢, MEM
android - 从sqlite数据库Android获取最后插入的值
我正在尝试从 Android 中的 sqlite 数据库中获取最后插入的 rowid。我已经阅读了很多关于它的帖子,但无法让一个工作。这是我的方法:
我试过 MAX,但我一定是用错了。还有其他方法吗?
mysql - 当有 UPDATE 触发器时,ON DUPLICATE KEY UPDATE 不起作用
我有一个INSERT
看起来像这样的声明:
这种做法一直运作良好。当我添加以下触发器时它停止工作:
并不是officer
没有插入记录。似乎触发器正在劫持LAST_INSERT_ID()
或其他什么。我这样说是因为执行的下一个查询是这样的:
由于我已经使用相同的确切文件运行了几十个成功的导入,我没有更改我的代码,现在我添加这个触发器后我的导入不起作用,我必须推断触发器是罪魁祸首。我在另一个表中遇到了类似的情况,删除触发器解决了这个问题。
所以我的问题是:
- 有人可以解释一下具体是什么导致我的官员 ID 设置为 0 吗?
- 这个问题有什么好的解决方案?
我有另一个触发器officer.created_at
(以及许多其他表created_at
),我宁愿避免某种尴尬的解决方案,即我有一个触发器created_at
但一个DEFAULT CURRENT_TIMESTAMP
on updated_at
。出于某种原因,MySQL 只允许每个表有一个自动时间戳,所以我不能CURRENT_TIMESTAMP
同时为created_at
和updated_at
.
这是SHOW CREATE TABLE
for officer
:
kohana - Kohana 3 中的 insert_id
我将 Kohana 3 框架与 Mysql 存储过程一起使用。如何获取最后插入记录的 id?这是代码:
文档说,query() 方法在执行插入查询时返回一个数组,其中包含最后一个插入 id 和受影响的行号。当我调用: print_r($result) 我得到: Array ( [0] => 0 [1] => 1 ) insert_id 键为 0,尽管我在数据库中有很多记录。我做错了什么?
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 或类似的方式。