gpt4 book ai didi

php - mysqli_insert_id() 是从整个服务器还是从同一用户获取记录?

转载 作者:行者123 更新时间:2023-11-29 19:26:18 24 4
gpt4 key购买 nike

我有 mysql 问题,mysqli_insert_id() 从整个服务器或从插入该 ID 的特定用户返回记录?因为如果它从整体返回那么使用这个函数将不安全

最佳答案

上面@daan 的评论是完全错误的。 insert_id() 返回放入执行 insert_id() 查询的连接执行的最后一个 insert 查询的 auto_increment 字段中的 ID。

它不会返回表中最大的 ID,它不会返回由某些其他连接创建的 ID,它不会返回由某些其他用户创建的 ID。

它实际上是执行LAST插入YOU创建的最后一个IDYOU

这意味着执行插入、通过 last_insert_id() 获取创建的 ID,然后在其他查询中使用该 ID 来创建父/子记录是 100% 可靠的。

但请注意,insert_id() 仅返回一个 id 值。如果执行多值插入,您仍然只能从最后一个值集中获取 ID,例如

INSERT INTO sometable (x, y) VALUES (1,2), (2,3)

仍然在内部执行两次插入,并且您只能获得 2,3 元组的 ID,而不是 1,2

同样,之前的所有查询都没有内存:

INSERT ...   // query #1
INSERT ... // query #2
SET id = last_insert_id();

只会获取查询 #2 创建的 ID,而查询 #1 中的 ID 已“丢失”。

关于php - mysqli_insert_id() 是从整个服务器还是从同一用户获取记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42118829/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com