问题标签 [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.
java - Java、PreparedStatement、TransactSQL (MS SQL)、最后插入 ID
我使用 PreparedStatement 将一些值插入到数据库中,但似乎在这种情况下我无法检索最后一个插入 ID。
我尝试使用与 Statements 相同的语句(如下),但它不起作用。它说, .executeQuery() 在这种情况下不能接受参数。
事实上,我并不完全需要最后一个插入 id,受影响的行数就可以了,但我怎么得到呢?我认为 PreparedStatement 的 .executeUpdate() 方法会返回受影响的行数,但显然它没有。
这是方法。
先感谢您。
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”
sql - vb.net sql 最后插入的 ID
我将 VB.NET 与 Access 数据库一起使用,我插入了值,但随后我需要获取最后插入的 ID(自动编号)并将其插入到相关表中。
我已经尝试过@@IDENTITY 和 MAX(column) 但@@IDENTITY 返回零并且 MAX 不是很可靠(有时插入数据很慢,所以在插入之前获取 ID)。
这是在两个函数中完成的,所以上面的代码可能看起来很混乱,但这只是取自两个函数。这两个语句都被执行了,但我只是展示了一个正在执行的例子。
@@IDENTITY 和 MAX 是否有替代品,因为我似乎看不出 @@IDENTITY 出了什么问题?
感谢您的任何建议:)。
mysql - mysql : 使用任何命令代替 mysql_insert_id(); 在 PHP 中?
我想获取仅插入项目的主键 ID。在 PHP 中有 mysql_insert_id()。我用 C# 编写
mysql - MySQL LAST_INSERT_ID() 与多条记录 INSERT 语句一起使用
如果我使用执行单个记录插入的循环插入多条记录,则返回的最后一个插入 id 正如预期的那样是最后一个。但是如果我做一个多记录插入语句:
假设上面的三个是表中插入的第一条记录。在插入语句之后,我希望最后一个插入 id 返回 3,但它返回 1。有问题的语句的第一个插入 id。
因此,有人可以确认这是否是LAST_INSERT_ID()
多条记录 INSERT 语句上下文中的正常行为。所以我可以基于它来编写我的代码。
php - SELECT LAST_INSERT_ID() *更新
我正在寻找使用 SELECT LAST_INSERT_ID() 我正在使用表单来获得用户输入值。对于第一个插入,我需要为下一个插入获取最后插入的 id...我还没有弄清楚如何获取最后选择的 id,然后将其传递到我的第二个插入语句中
我已经更新了我的代码,但我仍然无法将 id 发布到表格中
mysql - 如何编写 MySQL 触发器以将行插入另一个表?
我正在寻找在表上创建一个 MySQL 触发器。本质上,我正在创建一个活动流并且需要记录用户的操作。当用户发表评论时,我希望该表上的数据库触发器触发并且:
- 获取最后插入行的 ID(评论行的 ID)。
- 使用最后插入的行中的数据对活动表执行 INSERT。
我基本上会复制这个触发器来删除评论。
我有的问题:
- LAST_INSERT_ID() 是获取 id 的最佳方式吗?
- 如何正确存储最后插入的评论行中的数据以用于我的“插入活动”语句?
- 我应该使用存储过程和触发器的组合吗?
- 触发器的基本结构是什么样的?
谢谢!自从我接触任何与数据库触发器、过程和函数有关的东西以来,已经有好几年了。
sql - 带有last_insert_id()的Mysql多行插入选择语句
好的。所以简而言之,我试图做一个 INSERT SELECT 例如:
当然,@key 不会从每个插入返回每个后续的 LAST_INSERT_ID(),而是仅返回最后一个插入的 ID。
基本上,我将旧的 USER 表拆分为 ENTITY 和 USER,例如:
我为什么要这样做?基本上,我有一个“STORE”实体,它将具有“USERS”共同的字段,例如地址和电话号码。因此,任何“实体”都可能没有多个地址(运输、帐单、邮寄),也没有多个电话号码(传真、主要、帐单、手机、家庭)可能有其他方法可以实现这一点,但这是我的解决方案结束了。
旧数据库中的 STORE 和 USERS 需要保留其旧 PK 并获得额外的 ENTITY fk。如何在不进行转储和手动编辑的情况下做到这一点?
mysql - 最快的插入方式,如果不存在,则在 MySQL 中获取 id
有这张桌子。
id
是主键。domain
是唯一键。
我想要:
- 插入一个新域,如果它尚不存在。
- 获取该
id
域的。
现在我这样做:
然后PDO::lastInsertId()
得到id
.
但关键是要尽可能快,所以我想问:我能以更好的方式做到这一点吗?
php - 对于方法 PDO::lastInsertId(),参数“序列名称”是什么意思?(PHP-PDO)
我正在尝试使用 PDO 的 lastInsertId 方法,但文档指出对于某些 rdbms 我需要一个序列名称作为参数。只熟悉mysql,不太清楚什么是sequence name。它们是指包含自动增量 ID 的列的名称吗?这是该方法的文档:
http://php.net/manual/en/pdo.lastinsertid.php
任何有关这方面的信息将不胜感激。谢谢。