」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的 Python MySQL 查詢不斷回傳相同的資料?

為什麼我的 Python MySQL 查詢不斷回傳相同的資料?

發佈於2024-11-19
瀏覽:107

Why Does My Python MySQL Query Keep Returning the Same Data?

從 Python 查詢 MySQL 產生相同的資料

從 Python 重複查詢 MySQL 資料庫以檢索動態資料帶來了挑戰。眾所周知,僅在循環中迭代查詢不足以從資料庫中獲取新資料。

您提供的程式碼舉例說明了此問題:

for i in range(listSize):
    #...
    mycursor = mydb.cursor(dictionary=True)
    mycursor.execute(sql)
    #...

即使嘗試使用 fetchall、fetchmany 和 fetchone,結果仍然停滯不前。

解決方案:提交連線

要解決此問題,每個查詢執行後都必須提交連線。此操作結束正在進行的事務並啟動一個新事務,使後續查詢能夠偵測上一個事務期間所做的變更。

while True:
    #...
    mycursor = mydb.cursor(dictionary=True)
    mycursor.execute(sql)
    #...
    mydb.commit()
    #...

隔離等級和可重複讀取預設值

這個概念植根於隔離等級。預設情況下,MySQL 對 InnoDB 使用 REPEATABLE READ。這意味著在事務內,後續讀取將保留由事務初始讀取建立的快照。因此,如果不提交,後續查詢將不會捕獲任何更改。

最新教學 更多>
  • 如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    如何在 PHP 中組合兩個關聯數組,同時保留唯一 ID 並處理重複名稱?
    在 PHP 中組合關聯數組在 PHP 中,將兩個關聯數組組合成一個數組是常見任務。考慮以下請求:問題描述:提供的代碼定義了兩個關聯數組,$array1 和 $array2。目標是建立一個新陣列 $array3,它合併兩個陣列中的所有鍵值對。 此外,提供的陣列具有唯一的 ID,而名稱可能重疊。要求是建...
    程式設計 發佈於2024-11-19
  • 在 Go 中使用 WebSocket 進行即時通信
    在 Go 中使用 WebSocket 進行即時通信
    构建需要实时更新的应用程序(例如聊天应用程序、实时通知或协作工具)需要比传统 HTTP 更快、更具交互性的通信方法。这就是 WebSockets 发挥作用的地方!今天,我们将探讨如何在 Go 中使用 WebSocket,以便您可以向应用程序添加实时功能。 在这篇文章中,我们将介绍: WebSocke...
    程式設計 發佈於2024-11-19
  • 如何使用遞歸宏迭代宏參數?
    如何使用遞歸宏迭代宏參數?
    宏參數上的 Foreach 宏在程式設計領域,宏提供了執行重複任務的便捷方法。然而,嘗試建立一個迭代另一個巨集的參數的巨集可能會帶來挑戰。讓我們探討如何克服這個障礙並深入研究遞歸宏的領域。 遞歸巨集可用來遍歷傳遞給巨集的參數清單。然而,這種方法可能容易出錯,因為它可能會導致無限遞歸。為了解決這個問題...
    程式設計 發佈於2024-11-19
  • 大批
    大批
    方法是可以在物件上呼叫的 fns 數組是對象,因此它們在 JS 中也有方法。 slice(begin):將陣列的一部分提取到新數組中,而不改變原始數組。 let arr = ['a','b','c','d','e']; // Usecase: Extract till index ...
    程式設計 發佈於2024-11-19
  • 為什麼「text-align: center」不適用於 CSS 中的 Colgroup?
    為什麼「text-align: center」不適用於 CSS 中的 Colgroup?
    在CSS Colgroups 中使用“text-align: center”:故障排除指南格式化表格時遇到的一個常見挑戰是水平對齊文字。雖然「text-align」屬性可以單獨應用於表格單元格,但應用於 colgroup 時有時似乎沒有效果。下面解釋了發生這種情況的原因以及克服該問題的解決方案。 C...
    程式設計 發佈於2024-11-19
  • 在 PHP 中處理時間格式時,如何避免意外結果?
    在 PHP 中處理時間格式時,如何避免意外結果?
    PHP 中的時間操作:從H:i 添加並減去30 分鐘在PHP 中,處理與時間相關的任務對於各種任務至關重要應用程式。一種常見情況涉及修改格式為「H:i」的時間值。此格式表示以小時和分鐘為單位的時間,例如“10:00”或“13:30”。 要從這些值中加法或減去特定時間間隔,我們可以使用 strtoti...
    程式設計 發佈於2024-11-19
  • 如何從 java.sql.ResultSet 取得列名?
    如何從 java.sql.ResultSet 取得列名?
    如何從java.sql.ResultSet取得列名**java.sql.ResultSet介面提供對資料庫查詢結果的訪問,但不直接提供使用索引檢索列名的方法。要取得此信息,您可以利用 ResultSetMetaData 元資料物件。 以下步驟示範如何使用列索引以字串形式取得列名稱:取得ResultS...
    程式設計 發佈於2024-11-19
  • 如何在 Eclipse 中存取受限類別:繞過非 API 類別限制?
    如何在 Eclipse 中存取受限類別:繞過非 API 類別限制?
    存取限制:在Eclipse 中處理非API 類別限制Eclipse 強制執行存取限制,以防止開發人員無意中使用其之外的類別預期的公共API。但是,某些情況下可能需要存取受限類別。 訪問限制錯誤的原因報告的錯誤(“訪問限制:類型'應用程序'不是API 。 ..") 當Ecli...
    程式設計 發佈於2024-11-19
  • Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta 中的列偏移發生了什麼事?
    Bootstrap 4 Beta:列偏移的刪除和恢復Bootstrap 4 在其Beta 1 版本中引入了重大更改柱子偏移了。然而,隨著 Beta 2 的後續發布,這些變化已經逆轉。 從 offset-md-* 到 ml-auto在 Bootstrap 4 Beta 1 中, offset-md-*...
    程式設計 發佈於2024-11-19
  • 為什麼內嵌 JavaScript 無法在具有外部來源的腳本標籤中運作?
    為什麼內嵌 JavaScript 無法在具有外部來源的腳本標籤中運作?
    使用 HTML 腳本標籤載入腳本HTML 腳本標籤用於包含和執行 JavaScript 程式碼。預設情況下,此標記採用外部來源屬性,例如 scr 來載入 JavaScript 檔案。但是,嘗試在腳本標記中包含內聯 JavaScript,如下所示:<script src="myFile...
    程式設計 發佈於2024-11-19
  • 為什麼在使用 Node.js 連接到 MySQL 時出現「connect ECONNREFUSED」錯誤?
    為什麼在使用 Node.js 連接到 MySQL 時出現「connect ECONNREFUSED」錯誤?
    了解Node.js MySQL 的ECONNREFUSED 錯誤嘗試使用Node.js 建立與MySQL 資料庫的連線時,開發人員可能會遇到錯誤訊息“連接ECONNREFUSED”。這表明伺服器端拒絕連接,有效阻止客戶端應用程式存取資料庫。 查詢中提供的程式碼片段包括以下設定:var client ...
    程式設計 發佈於2024-11-19
  • 關於該項目的介紹以及...我自己
    關於該項目的介紹以及...我自己
    關於我的簡短資訊...... 你好世界!我叫盧卡斯,是一名 31 歲的巴西人,住在捷克共和國(或捷克??),我是一名軟體工程師。我在不同的領域工作了 7/8 年,並且被困在這個領域。我沒有動力,只是做基礎工作並保持收入。但我錯過了一些可以激勵我的東西,也缺少了從工作中獲得「熱情」的...
    程式設計 發佈於2024-11-19
  • 如何跨子網域共享localStorage資料?
    如何跨子網域共享localStorage資料?
    跨子域共享 localStorage從 cookie 遷移到 localStorage 時,跨域資料存取可能會成為一個挑戰。在像問題中描述的場景中,不同的子域(例如 site.example 和 www.site.example)隔離其 localStorage 對象,資料共享會出現問題。 答案中提...
    程式設計 發佈於2024-11-19
  • 如何在同一結果集上多次使用「mysqli_fetch_array()」?
    如何在同一結果集上多次使用「mysqli_fetch_array()」?
    多次使用mysqli_fetch_array()使用PHP 和MySQL 處理資料庫時,您可能會遇到需要多次存取相同查詢結果的情況使用mysqli_fetch_array()函數。然而,嘗試在同一結果集中多次使用 mysqli_fetch_array() 將導致空輸出。 這是因為 mysqli_fe...
    程式設計 發佈於2024-11-19

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3