gpt4 book ai didi

PHP/MySQL 插入行然后得到 'id'

转载 作者:行者123 更新时间:2023-11-29 15:56:41 25 4
gpt4 key购买 nike

当我插入一行时,表的“id”字段会自动增加。我想插入一行然后获取该 ID。

我会按照我说的去做,但是有没有一种方法可以让我不用担心插入行和获取 id 之间的时间?

我知道我可以在数据库中查询与输入的信息相匹配的行,但是变化很大,会有重复项,唯一的区别是 ID。

最佳答案

$link = mysqli_connect('127.0.0.1', 'my_user', 'my_pass', 'my_db');
mysqli_query($link, "INSERT INTO mytable (1, 2, 3, 'blah')");
$id = mysqli_insert_id($link);

参见mysqli_insert_id() .

无论你做什么,都不要插入然后执行“SELECT MAX(id) FROM mytable”。就像你说的,这是一个竞争条件,没有必要。 mysqli_insert_id() 已经具有此功能。

<小时/>

另一种方法是一次性运行两个查询,并使用 MySQLLAST_INSERT_ID() 方法,其中两个表都会同时修改(PHP 也这样做)不需要任何 ID),例如:

mysqli_query($link, "INSERT INTO my_user_table ...;
INSERT INTO my_other_table (`user_id`) VALUES (LAST_INSERT_ID())");

Note that Each connection keeps track of ID separately (so, conflicts are prevented already).

关于PHP/MySQL 插入行然后得到 'id',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56409550/

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