gpt4 book ai didi

php - InnoDB 有时会更新和插入丢失的数据(PHP 和 MySQL)

转载 作者:行者123 更新时间:2023-11-30 22:12:47 25 4
gpt4 key购买 nike

我们需要更新主表和子表(table_1 和 table_2)中的一些列,两个表都在 InnoDB 引擎中,实际上它更新正确,但有时在任何一个表中都没有发生更新操作。

我们已经检查了查询执行状态并尝试检查 MySQL 负载,当时我们无法找到任何解决方案,请调查并尝试为我们提供更好的解决方案,如果您需要进一步的信息,请更新我们来 self 们的信息。

注意 1:据我们研究,InnoDB 具有行级锁定,因此它不会影响其他行插入或更新功能,您能否建议我们在什么情况下 InnoDB 无法响应或任何其他编码方面的建议或其他任何可能,等待你的答复。

注意 2:我们使用单独的连接字符串来使用 PDO 进行读写连接。

我已经在下面编写了我的代码供您引用。

$Update_CCPI_qy = "UPDATE `table_1` SET `status` = :status, `idActivateTime` = :currentTime WHERE `student_id` = :candidateID";

$Update_CCPI_exec = $pdo_connection_write->prepare($Update_CCPI_qy);
$Update_CCPI_status = $Update_CCPI_exec->execute(array( ':candidateID' => $candidateID, ':status' => 1, ':currentTime' => time()));

$Update_candidateIDNo_qy = "UPDATE `table_2` SET `status` = :status, `idActivateTime` = :currentTime WHERE `candidateid` = :candidateID";
$Update_candidateIDNo_exec = $pdo_connection_write->prepare($Update_candidateIDNo_qy);
$Update_candidateIDNo_status = $Update_candidateIDNo_exec->execute(array( ':candidateID' => $candidateID, ':status' => 1, ':currentTime' => time()));

最佳答案

我自己声明,经过长时间的讨论、研究和分析后,我发现 innodb 在该表死锁之前的某个阶段不一致,因此 innodb 可以设法不进入死锁,但在某个级别它有时会变得不一致,这意味着它无法正确显示结果,并且当时可能无法插入或更新。就我的知识而言,我找到了这个解决方案,请专家审查或确认我的答案。

关于php - InnoDB 有时会更新和插入丢失的数据(PHP 和 MySQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39508315/

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