pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0


原因:

使用了多線程,多線程共享了同一個數據庫連接,但每個execute前沒有加上互斥鎖

方法:

方法一:每個execute前加上互斥鎖

        lock.acquire()
        cursor.execute(command,data)     
        lock.release()

方法二:

  每個線程擁有自己的數據庫連接,即在線程調用函數中加上數據庫連接代碼

方法三:

       所有線程共用一個連接池,需要考慮線程總數和連接池連接數上限的問題     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM