首頁 >資料庫 >mysql教程 >如何解決MySQL刪除和插入操作後選擇陳舊資料的問題?

如何解決MySQL刪除和插入操作後選擇陳舊資料的問題?

Patricia Arquette
Patricia Arquette原創
2024-11-27 06:29:171002瀏覽

How to Resolve Stale Data Selection in MySQL After Delete and Insert Operations?

MySQL:刪除和插入後從過時資料選擇恢復

在使用MySQL 的多執行緒WSGI Web 應用程式中,工作階段管理偶爾會遇到不一致,已刪除的會話仍會在選擇查詢中傳回。

此行為源自於 MySQL 的預設隔離級別,「可重複讀取」。此等級可確保交易不受啟動後所做變更的影響,無論這些變更是否已提交。因此,即使插入新會話後,其他連線也會繼續檢索舊會話資料。

要解決此問題,請考慮以下操作:

  • 結束交易: 在受影響的會話中發出 COMMIT 或 ROLLBACK命令來結束持久交易並允許它們觀察最新的資料庫
  • 修改隔離等級:將受影響會話的隔離等級變更為「READ COMMITTED」。此等級允許新提交的資料對相同交易中的後續查詢可見。

透過實現任一方法,連接不應再選擇過時的數據,並將反映資料庫的當前狀態。

以上是如何解決MySQL刪除和插入操作後選擇陳舊資料的問題?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn