gpt4 book ai didi

php - mysql连接是如何工作的

转载 作者:行者123 更新时间:2023-11-30 22:56:36 27 4
gpt4 key购买 nike

mysqli_insert_id() 特定于数据库连接——它返回此脚本调用最近插入的行的 ID,而不是任何其他 MySQL 客户端。因此,如果多个应用程序同时插入数据库,则不会发生冲突。

我对两件事感到困惑,第一件事是

具体到数据库连接

第二件事

MySQL 客户端

请问是否有人可以解释 mysql 连接如何为不同的客户端工作或这些客户端在任何应用程序中的行为方式。如果这是一个荒谬的问题,我很抱歉,但我很困惑为什么它没有同时反射(reflect)在数据输入中。

最佳答案

具体到数据库连接

假设我运行一个插入一行的 PHP 脚本,然后调用 mysqli_insert_id(),它告诉我它生成了值 1234。

接下来,您还运行一个单独的 PHP 脚本,将一行插入到同一个表中。我们假设它生成了值 1235。

然后我的 PHP 脚本仍然在与以前相同的请求中运行,再次调用 mysqli_insert_id()。它报告1235吗?不——它仍然报告 1234,因为它只会告诉我在我的 session 期间生成的最新 ID。

如果我的 PHP 请求完成,然后我发出另一个 PHP 请求,并且它连接到 MySQL,这算作一个新连接。默认情况下,Mysqli_insert_id() 不报告任何内容,除非我进行新的插入。

MySQL 客户端

在此上下文中,mysql 客户端例如是在一次请求期间连接到 MySQL 的 PHP 脚本。

MySQL 客户端也可以是命令行 mysql 工具,或者像 MySQL Workbench 这样的 GUI 界面,或者是用 PHP 或其他语言编写的另一个应用程序。术语“MySQL 客户端”旨在包括所有这些。每个客户端都与 MySQL 数据库服务器建立连接,每个连接都有自己关于最后插入 ID 的想法。

关于php - mysql连接是如何工作的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26105610/

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