问题标签 [last-insert-id]
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 上次插入 ID 不起作用
可能重复:
如何在 JDBC 中获取插入 ID?
我试图获取最后一个插入 ID,但显然它不起作用,它不断给我一堆错误,其中一个是这个
我试图得到最后一个插入它但它不起作用,这是我的代码
第二个是
我怎样才能得到最后插入的 id?我的方法有什么问题?
.net - 如何在 WebMatrix 中使用 LAST_INSERT_ID()
我无法弄清楚如何LAST_INSERT_ID()
在 WebMatrix 中使用 MySQL 数据库。有人可以告诉我如何将它应用于下面的代码片段吗?
java - 从mysql获取最后一条记录
我正在使用 mysql 并面临一些问题。我想检索插入的最后一行。
<<以下是详细内容>>
以下是我创建表格的方式。
create table maxID (myID varchar(4))
我在其中插入了四个值,如下所示
当我执行select myID, last_insert_id() as NewID from maxID
时,我得到如下输出
当我尝试下面的代码时,
select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init
我得到如下输出。
但是,当我使用代码时select myId, last_insert_id() as NewID, @rowid:=@rowid+1 as myrow from maxID, (SELECT @rowid:=0) as init where @rowid = 4
,我收到错误Uknown column 'myrow' in where clause
当我使用 时where @rowid=4
,我没有在表格中获得任何数据。
链接以玩数据
注意:这里我使用 4 只是为了获得所需的输出。稍后我可以从查询中得到这个(select max(rowid) from maxID)
如果我只想查看最后一条记录,请建议我需要做什么A003
。
谢谢你的时间。
更新:
我的表中已经有数百万条数据,因此我无法按照下面的建议在其中添加新列。
php - 为什么 PDO 的 Oracle 驱动程序不实现 lastInsertId()?
我在 PDO 中收到此错误:
错误:消息:PDO::lastInsertId() [pdo.lastinsertid]: SQLSTATE[IM001]: Driver does not support this function: driver does not support lastInsertId()
当试图从 oracle 数据库中获取最后插入的 id 时。我将序列字符串添加到最后一个插入 id 函数但仍然无法正常工作。对于带有 PDO 的 Oracle 上的这个错误,谷歌并没有多说。
php - 如何将已在 MySQL 中设置的变量返回给 PHP
我有一个 PHP 函数,它将多条记录插入 MySQL:
我正在尝试使用第一个 INSERT 语句的 LAST_INSERT_ID (@asset) 作为我下一个函数的变量。为了设置变量,我调用上述函数的方式是:
我很确定我的问题出在我的 SQL 语句中的“return $asset_ID”附近。仅使用 1 个 LAST_INSERT_ID 调用时,我已经能够成功地做到这一点。
根本没有任何东西被退回。
php - 为什么我无法在 PHP 和 MySQL 中获取最后一个插入 ID?
我有一个创建课程的功能。我正在尝试获取最后插入 ID,但它不起作用:
这是检索我在与函数 createCourse 相同的类中创建的最后一个插入 ID 的函数:
这就是我调用函数的方式:
"$id"
总是"int(0)"
我也试过:
我也试过:
但这也行不通。大家能看出是什么问题吗?:( 函数 createCourse 本身很好。它创建了我需要的内容,并且它在数据库中,但我无法获得最后一个插入 ID。
c# - C# mysql 一返回 last_insert_id
我正在尝试创建一种方法,可以在其中执行 mysql UPDATE、DELETE 或 INSERT 查询。该方法必须在使用我询问或不询问的 INSERT 时起作用last_insert_id()
。以下是我目前拥有的代码:
这样做的问题是,当我使用返回 a 的插入查询时,last_insert_id()
该方法效果很好。但是当查询不返回时last_insert_id()
,方法就会出现故障。我怎样才能让这个方法起作用?
sql - sqlite 中的 last_insert_rowid - 两个表
我有两张桌子,其中一张是另一张的助手。表“reviews”有一列是一个整数,引用表“films”中该评论的电影的id。有没有办法在“电影”表中插入新电影后,使用“评论”表中的 last_insert_rowid?
我正在使用 SQLITE;我见过 max(id) 的用法,但它可能不那么可靠。帮助将不胜感激。
mysql - 使用Mysql对链接表做多次INSERT
我有两张表,一张链接到另一张的主键。在我插入表 A 的那一刻,获取 LAST_INSERT_ID,然后插入表 B。
但是我有数百条记录要插入,我想加快速度。
在 Mysql 中,您可以:
等,或
INSERT INTO table_a (v1, v2, v3) VALUE (0, 1, 2), (4, 5, 6), etc
更快地添加多个条目 - 但仅限于一张桌子。
当然后者要快得多。我想知道是否可以在我的示例中使用存储过程复制此行为,并使用两个链接表,以及它是否会在性能上有类似的显着改进:
类似:调用 special_insert((0, 1, 2), (4, 5, 6), etc); 或类似的。
我没有存储过程的经验,所以我正在寻找有关前进方向的想法。
mysql - LAST_INSERT_ID() 始终返回 0 (RMySQL) - 单独的连接问题
在一些帖子中找到的原始示例
根据这篇文章,以下 SQL 语句
1, 2, 2, 2, 2
最后应该给我一个向量:
遵循NB、Jeff Allen和Quassnoi的建议
对示例进行了修改,使其比原始用例更类似于真实用例:
好吧,它没有,真的;-)
我用谷歌搜索了一下,AFAIULAST_INSERT_ID()
是“连接感知”的,因为如果要正常工作,必须使用相同的连接。但是,我认为通过将连接对象分配给con
我可以确保在上面的每个语句中确实使用了相同的连接。
好吧,显然不是 ;-) 任何人都可以帮助我提供一些解释和/或解决方法吗?但是,使用类似的东西select max(<ID>) from <TABLE>
不会减少它,因为我正在运行同时写入数据库的多个线程,因此如果这样做会弄乱 ID 检索。
谢谢!
截至 2012 年 4 月 20 日的调查结果
- 多亏了Quassnoi,我才能够更多地找到问题所在。似乎
RMySQL
函数并不真正关心显式conn
参数,而是每次连接到数据库时都会在后台打开新连接。可能也有一些很好的理由。然而,有谁知道如何避免这种情况? - 刚刚联系了 Jeffrey Horner(RMySQL包的维护者)。似乎这是一个Windows问题。在 Linux 上为他工作:-/
连接细节
正如杰夫所建议的那样