问题标签 [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.

0 投票
1 回答
143 浏览

mysql - AUTO_INCREMENT 在我的情况下是否正确实施?

这个问题与我的旧问题Getting last record from mysql有点相关。

根据这些答案,我了解到SELECT 不能保证以任何特定顺序返回行(当然,不使用 ORDER BY 子句)。

我遵循@YaK 的答案并AUTO_INCREMENT使用以下命令在表中添加。

然而今天我有一个问题。

什么时候SELECT不能保证以任何特定顺序返回行(ORDER BY当然不使用子句),那么在更改表时,AUTO_INCREMENT会正确实现吗?

0 投票
5 回答
10369 浏览

php - laravel 原始查询 last_insert_id

有没有办法last_insert_id在使用 laravel 的原始查询时获得?

DB::query('INSERT into table VALUES ('stuff') ')

这将返回 true 或 false。有没有办法在 Laravel 中使用原始查询获取 last_insert_id ?

0 投票
3 回答
1272 浏览

mysql - Qt 的 odbc 驱动程序不支持 mysql 的 LastInsertId,有什么解决方法?

我使用 Qt 4.8.3 和 MySQL ODBC 3.51 驱动程序。驱动程序似乎不支持我这样测试的 LastInsertId:

我需要它来找到我刚刚插入的自动增量 ID

最好的解决方法是什么?

编辑:多个客户端将同时访问此表。

0 投票
6 回答
57747 浏览

php - Mysql获取特定表的最后一个ID

我必须从特定的插入表中获取最后一个插入 ID?。可以说我有这个代码:

如何在表 blahblah3 中获取表 blahblah 的插入 ID?LAST_INSERT_ID() 只给你最后的插入 id

问候,西蒙 :)

0 投票
2 回答
6756 浏览

php - 使用 PDO 获取最后插入的行 ID(不合适的结果)

我的PDO::lastInsertId()方法不返回最后插入行的 id(主键),而是返回另一个作为外键字段的字段。

PHP代码:

MySQL表结构:

在 MySQL 中插入行:

PHP 输出:

1它不应该返回19。我不知道我的代码有什么问题……或者这可能是正常行为:?

返回值(PHP 文档):

  • 如果没有为 name 参数指定序列名称,则 PDO::lastInsertId()返回一个字符串,该字符串表示ID插入数据库的最后一行的行。

  • 如果为 name 参数指定了序列名称,则PDO::lastInsertId()返回一个字符串,该字符串表示从指定序列对象中检索到的最后一个值。

  • 如果PDO驱动程序不支持此功能,则PDO::lastInsertId()触发IM001 SQLSTATE.

0 投票
2 回答
3324 浏览

php - SQLite3 and last_insert_rowid

This is how I create my handle

$this->_handle = new SQLite3($this->_dbname);

This is how I make my db query (shortened):

Now I want to get the last inserted ID. I tried it this way:

I get this error:

Warning: sqlite_last_insert_rowid() expects parameter 1 to be resource, object given in ... on line 444 NULL

Edit: This cannot work because I must have it opened with sqlite_open().

I also tried it with this code:

I get the following error message:

NULL Warning: SQLite3Stmt::execute() [sqlite3stmt.execute]: Unable to execute statement: constraint failed in ..

The error points to this line $stmt->execute();

How do I get my last inserted ID?

0 投票
2 回答
234 浏览

php - 使用多个插入和多个 LAST_INSERT_ID() 的 Sql 查询不起作用

大家好,我正在尝试使用 1 个 sql 查询将问题和答案存储在 2 个表中:

如果我在 SQL 框中执行 PHPMyAdmin 中的代码,它工作得很好,但是如果我在我的 PHP 代码生成脚本中执行它,它会返回以下错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法,以便在第 2 行的 'INSERT INTO answers (questions_ID, answer, ok) VALUES (LAST_INSERT_ID(),'doei',0' 附近使用

我看不出我做错了什么……有人吗?

提前致谢。

0 投票
1 回答
2751 浏览

php - 存储过程的 LAST_INSERT_ID() 结果

我在 mysql 中有一个存储过程,它正在更新很多行,然后插入一个(具体来说是分层数据结构)。除了我设置@insert_id 变量的最后一个代码外,不要看太多代码。

现在,当我从 phpMyAdmin 执行此过程时,它返回正确的最后一个 id,但是当我从 php 调用它时,它返回上一个插入行的 id ???可能是什么问题,有没有更好的方法你建议我应该这样做。

这是我从 PHP 中调用它的方式:

这本身就充当了一个 SELECT 查询,我得到 1 列“insert_id”,其中一行的值例如“120”,它是前一个非当前插入行的 ID。

这是接收 sql 字符串并返回单个值的函数:

0 投票
1 回答
965 浏览

php - 使用过程插入行时,PHP MYSQL PDO lastInsertId 返回 0

我的 LastInsertedID 一直为零,我认为这是因为我使用的是 mysql 存储过程。这是我的代码:

0 投票
1 回答
247 浏览

java - 在 MySQL 中使用 statement.getGeneratedKeys() 时是否可以获得自动生成的值?

我通过java连接mysql。我正在尝试插入一条记录,我正在使用statement.getGeneratedKeys()然后查找状态if (generatedKeys.next())。现在我可以获得一个插入的 coulmn 值(即)我有一个名为 pass 的列,它是一个 auto_increament 列,它是我的主键,现在我想获取插入到该列中的值。可能吗??