问题标签 [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 回答
1325 浏览

java - Java、PreparedStatement、TransactSQL (MS SQL)、最后插入 ID

我使用 PreparedStatement 将一些值插入到数据库中,但似乎在这种情况下我无法检索最后一个插入 ID。

我尝试使用与 Statements 相同的语句(如下),但它不起作用。它说, .executeQuery() 在这种情况下不能接受参数。

事实上,我并不完全需要最后一个插入 id,受影响的行数就可以了,但我怎么得到呢?我认为 PreparedStatement 的 .executeUpdate() 方法会返回受影响的行数,但显然它没有。

这是方法。

先感谢您。

0 投票
1 回答
256 浏览

mysql - mysql 的 Subsonic 3.0.0.4 活动记录模板不返回最后插入的 id

重现错误的步骤:

CREATE TABLE person ( person_id int(11) NOT NULL AUTO_INCREMENT, firstname varchar(20) DEFAULT NULL, lastname varchar(20) DEFAULT NULL, age int(11) DEFAULT '0', PRIMARY KEY (person_id) ) ENGINE=InnoDB AUTO_INCREMENT= 36 默认字符集=latin1

INSERT INTO person(firstname,lastname,age) VALUES ('myname',NULL,NULL) ;SELECT LAST_INSERT_ID() as newid

输出为“0”

0 投票
2 回答
16610 浏览

sql - vb.net sql 最后插入的 ID

我将 VB.NET 与 Access 数据库一起使用,我插入了值,但随后我需要获取最后插入的 ID(自动编号)并将其插入到相关表中。

我已经尝试过@@IDENTITY 和 MAX(column) 但@@IDENTITY 返回零并且 MAX 不是很可靠(有时插入数据很慢,所以在插入之前获取 ID)。

这是在两个函数中完成的,所以上面的代码可能看起来很混乱,但这只是取自两个函数。这两个语句都被执行了,但我只是展示了一个正在执行的例子。

@@IDENTITY 和 MAX 是否有替代品,因为我似乎看不出 @@IDENTITY 出了什么问题?

感谢您的任何建议:)。

0 投票
2 回答
528 浏览

mysql - mysql : 使用任何命令代替 mysql_insert_id(); 在 PHP 中?

我想获取仅插入项目的主键 ID。在 PHP 中有 mysql_insert_id()。我用 C# 编写

0 投票
3 回答
32426 浏览

mysql - MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用

如果我使用执行单个记录插入的循环插入多条记录,则返回的最后一个插入 id 正如预期的那样是最后一个。但是如果我做一个多记录插入语句:

假设上面的三个是表中插入的第一条记录。在插入语句之后,我希望最后一个插入 id 返回 3,但它返回 1。有问题的语句的第一个插入 id。

因此,有人可以确认这是否是LAST_INSERT_ID()多条记录 INSERT 语句上下文中的正常行为。所以我可以基于它来编写我的代码。

0 投票
3 回答
12722 浏览

php - SELECT LAST_INSERT_ID() *更新

我正在寻找使用 SELECT LAST_INSERT_ID() 我正在使用表单来获得用户输入值。对于第一个插入,我需要为下一个插入获取最后插入的 id...我还没有弄清楚如何获取最后选择的 id,然后将其传递到我的第二个插入语句中

我已经更新了我的代码,但我仍然无法将 id 发布到表格中

0 投票
1 回答
96203 浏览

mysql - 如何编写 MySQL 触发器以将行插入另一个表?

我正在寻找在表上创建一个 MySQL 触发器。本质上,我正在创建一个活动流并且需要记录用户的操作。当用户发表评论时,我希望该表上的数据库触发器触发并且:

  1. 获取最后插入行的 ID(评论行的 ID)。
  2. 使用最后插入的行中的数据对活动表执行 INSERT。

我基本上会复制这个触发器来删除评论。

我有的问题:

  1. LAST_INSERT_ID() 是获取 id 的最佳方式吗?
  2. 如何正确存储最后插入的评论行中的数据以用于我的“插入活动”语句?
  3. 我应该使用存储过程和触发器的组合吗?
  4. 触发器的基本结构是什么样的?

谢谢!自从我接触任何与数据库触发器、过程和函数有关的东西以来,已经有好几年了。

0 投票
2 回答
5649 浏览

sql - 带有last_insert_id()的Mysql多行插入选择语句

好的。所以简而言之,我试图做一个 INSERT SELECT 例如:

当然,@key 不会从每个插入返回每个后续的 LAST_INSERT_ID(),而是仅返回最后一个插入的 ID。

基本上,我将旧的 USER 表拆分为 ENTITY 和 USER,例如:

我为什么要这样做?基本上,我有一个“STORE”实体,它将具有“USERS”共同的字段,例如地址和电话号码。因此,任何“实体”都可能没有多个地址(运输、帐单、邮寄),也没有多个电话号码(传真、主要、帐单、手机、家庭)可能有其他方法可以实现这一点,但这是我的解决方案结束了。

旧数据库中的 STORE 和 USERS 需要保留其旧 PK 并获得额外的 ENTITY fk。如何在不进行转储和手动编辑的情况下做到这一点?

0 投票
2 回答
2503 浏览

mysql - 最快的插入方式,如果不存在,则在 MySQL 中获取 id

有这张桌子。

id是主键。domain是唯一键。

我想要:

  1. 插入一个新域,如果它尚不存在。
  2. 获取该id域的。

现在我这样做:

然后PDO::lastInsertId()得到id.

但关键是要尽可能快,所以我想问:我能以更好的方式做到这一点吗?

0 投票
1 回答
1521 浏览

php - 对于方法 PDO::lastInsertId(),参数“序列名称”是什么意思?(PHP-PDO)

我正在尝试使用 PDO 的 lastInsertId 方法,但文档指出对于某些 rdbms 我需要一个序列名称作为参数。只熟悉mysql,不太清楚什么是sequence name。它们是指包含自动增量 ID 的列的名称吗?这是该方法的文档:

http://php.net/manual/en/pdo.lastinsertid.php

任何有关这方面的信息将不胜感激。谢谢。