簡體   English   中英

刪除python mysql問題

[英]delete python mysql issues

為了刪除我在python-mysql中創建的名為cars的表,我做了

import MySQLdb as mdb
con = mdb.connect('localhost', 'priceapi', 'data', 'carpricedb');
cur = con.cursor()
cur.execute("DELETE FROM cars");
con.commit()
con.close()    

但我收到這樣的錯誤

Traceback (most recent call last):
File "delete.py", line 4, in <module>
cur.execute("DELETE FROM cars");
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 174, in execute
self.errorhandler(self, exc, value)
File "/usr/lib/python2.7/dist-packages/MySQLdb/connections.py", line 36, in     defaulterrorhandler
raise errorclass, errorvalue
_mysql_exceptions.OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction')

我的表只有78行。 我也嘗試過縮短桌子。 結果是一樣的。 我嘗試直接在mysql中執行此操作,但隨后它不執行該命令,因此不得不使用Control + C將其殺死。 最近1個小時,我進行了很多搜索,但找不到解決方案。

有什么幫助嗎?

刪除是非常非常非常非常慢的SQL操作,我猜該表很大,因此需要很多時間才能完成。 如果您希望清除表,則最好刪除並重新創建表(截斷是第二好的選擇)。

也有可能某個查詢正在鎖定您的表,您可以通過再次停止並啟動mysql(或通過查找執行該操作的查詢並殺死它)來清除鎖定。

暫無
暫無

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

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