簡體   English   中英

有時會丟失InnoDB更新和插入數據(PHP和MySQL)

[英]InnoDB update and insert data missing sometimes (PHP and MySQL)

我們需要更新主表和子表(table_1和table_2)中的一些列,兩個表都在InnoDB引擎中,實際上它正確更新,但有時在任何一個表中都沒有發生更新操作。

我們已經檢查了查詢執行狀態並嘗試檢查MySQL加載,那時我們無法找到任何解決方案,請查看它並嘗試為我們提供更好的解決方案,如果您需要我們的任何進一步信息,請更新我們。

注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可以設法不進入死鎖,但在某種程度上它變得不一致時間,這意味着它沒有正確顯示結果,並且可能不會在那時插入或更新。 就我的知識而言,我找到了這個解決方案,專家請回顧或確認我的答案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM