问题标签 [mysql-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 投票
3 回答
1730 浏览

mysql - MySQL:插入后获取 AUTO_INCREAMENTED 序列号?

我有 MySQL 表,主键为 AUTO_INCREAMENTED (UNSIGNED INT) 作为序列号。每次我在此表中插入新行时,我都想确认显示插入的 AUTO_INCREAMENTED UNSIGNED INT 的用户。

目前在插入行后,我正在执行 SELECT Query 以获取最后插入的行。在 INSERT ( 不带 SELECT ) 之后立即获取插入值是否有更聪明的方法?

0 投票
1 回答
545 浏览

php - PHP - mysql_insert_id() 和竞争条件?

我想我在一些 PHP 代码中有一个竞争条件,mysql_insert_id() 返回 0 - 但我不知道为什么。

我自己无法复制该问题,但可以看到其他用户有(由于他们随后所做的结果是 SID 为 0,但不一致)。

我对此的理解是 mysql_insert_id 将等待来自 $insertsess 的查询完成 - 这是错误的吗?如果是这样,我是否需要有诸如看门狗循环之类的东西来等待 mysql_insert_id 返回非零的值?这似乎有点愚蠢。:/

0 投票
3 回答
856 浏览

php - php mysql_insert_id() 可能与多用户冲突

我们知道 mysql_insert_id() 将给出最后插入的 ID,但我想知道在下面的情况下我们是否会遇到问题。


UserA -> 调用将插入 ROW 到 TABLE 并获取插入的 ID 的函数

执行日期时间:2013-10-01 10:18:25

行号:1


UserB -> 调用将插入 ROW 到 TABLE 并获取插入的 ID 的函数

执行日期时间:2013-10-01 10:18:26

行号:2


请注意,执行时间仅相差一秒。

假设 UserB 在 UserA 执行 mysql_insert_id() 之前完成插入行

UserA 是否会获得ROW ID: 1ROW ID: 2的值

0 投票
1 回答
53 浏览

mysql - 在 MySQL 多行插入中获取插入 ID

我正在从 GMail 导入联系人,联系人可能会达到数百和数千。

我有这个查询做 INSERT

我需要获取插入 ID 以使我能够在另一个表中进一步插入它们的详细信息。

考虑到我不能在一次导入中运行 1,000 个或更多查询,而且我的自动增量可能不一致,我该如何解决这个问题。该应用程序还被许多人同时使用,这可能意味着可能有两个以上的人同时运行插入(不仅通过导入)。

0 投票
1 回答
498 浏览

php - 多个 mysql_insert_id

我有 3 个结构像这样的表,

员工 > id (PK), 姓名

family > family_id (PK), id (员工PK)

父亲>father_id(PK)、family_id(家庭PK)、father_name

mysql_insert_id()我知道我可以使用or获取最后插入LAST_INSERT_ID的 ID,我想获取 ID 并将其插入到每个表中,如下所示:

我在做正确的事吗?如果是的话,有没有更好的方法来做同样的事情?

谢谢你。:)

0 投票
7 回答
510 浏览

php - mysql_insert_id() 回显 0

我不是第一个遇到这个问题的人,但其他人的解决方案不起作用。此脚本始终为 mysql_insert_id() 返回 0;我正在使用多个主键。

我已经尝试过mysql_insert_id($link),我链接$link到一个mysql_connect()mysql_insert_id($GLOBALS['DB']->MySQLiObj)

我的 $GLOBAL['DB']

我的 MySQL 类:

0 投票
1 回答
189 浏览

mysql - 是否可以在 MySQL 中使用延迟插入和检索 ID 进行后续查询?

我正在为网站构建一个分析工具,并简化我的插入序列,如下所示:

所以换句话说,有一个中心表和其他表使用主 INSERT 的 ID 链接到它。我想将这些 INSERT 转换为 DELAYED INSERT,以便在负责存储分析数据的数据库服务器过载并且无法再处理所有写入的情况下,用户不会受到影响。但是,由于 DELAYED INSERT 不允许使用 LAST_INSERT_ID(),我不确定如何维护表之间的上述关系。

除了生成您自己的 ID 并为其分配唯一索引然后在必要时使用它来连接表之外,是否还有其他简单的方法可以做到这一点。

0 投票
2 回答
997 浏览

php - 使用 mysqli_insert_id 获取错误的 id

我希望在将数据插入数据库后返回 id。

多人同时提交表单的可能性很大。

我不希望结果中显示错误的 ID,因为此 ID 也将记录在另一个数据库日志中,并用于以显示给用户的下一个表单上传文件。

如果几个人同时提交,mysqli_insert_id 是否有可能选择错误的 id?

查询该用户的最新日期条目并从那里提取 id 会更好吗?

或者我应该使用 mysqli_insert_id 然后根据该记录中的用户名检查该 id 以验证它是否正确?

还是我只是担心一些不成问题的事情?

感谢您的任何意见,我对此很陌生。

金:)

0 投票
2 回答
93 浏览

php - 如何在运行单个语句多个插入查询后获取所有 last_insert_ids?

我有一个 'location' 表和一个 'location_detail' [用于插入不同语言数据] 表。'location_detail' 包含位置表的 FK

我需要一次输入多个位置。所以我正在做的是:

在其中运行一个“for”循环,首先我将数据输入到“location”表中获取 loc_id,然后插入到 location_detail 表中[如果存在多种语言,则在“location_detail”表中,我想再次运行查询多次]。

因此,如果我想添加 3 个位置 -> 外部“for”循环将运行 3 次查询执行总数。是 6 [如果存在一种以上的语言,这将是多种语言]

==>我的目标是在单个语句中使用多次插入将所有 3 个(比如说)位置插入到“位置”表中,并获得所有 3 个 last_insert_ids。

==>接下来我可以运行单个语句多个插入查询以添加到“location_details”表中

在这里,我将如何在数组中获取这个 last_insert_ids?

0 投票
1 回答
722 浏览

php - 从 MySQL 插入函数返回值

我有一个函数,它写入一个 mysql 数据库。我可以成功写入数据库,但是在减少它写入的数据库中行的唯一 ID 时遇到了麻烦。

是的,我知道 mysql 查询很快就会贬值。

我使用以下代码在另一个文件中调用它:($newBorrowRequest 是一个定义了字段的数组)。

所以基本上我的问题是:使用上面的代码如何返回我插入的行的 id?(我不想在函数内部回显它,它需要在外部,在我最初调用该函数的销售文件中)。