使用Python一直会出现
(1205, 'Lock wait timeout exceeded; try restarting transaction')
每当我尝试向特定的表中插入数据时,就会出现错误。然而,当我直接从MySQL控制台插入数据时,它却可以正常工作。正在研究中。
SHOW FULL PROCESSLIST
数据库中没有其他活动查询。由于这是一个没有连接到实时应用程序的开发数据库,我无法想象任何问题。但是,它正在由托管我们生产数据库的服务器提供服务,因此如果可能的话,我强烈不建议进行重置。有关如何调试此问题的任何建议?
注意 如果我使用SHOW FULL PROCESSLIST 查看针对数据库运行的查询,最终会失败并出现上述消息,然后手动从MySQL控制台插入它,它将按预期工作。
编辑 以下是查询示例:
INSERT INTO deals (user_ID, store_ID, storeChain_ID, title, dealSaving,
dealDisclaimer, restriction, dealImage, dealURL, submit_ID, userProvider_ID,
createDate, createDateTime, expirationDate, expirationDateTime, ZIP, STATE,
city, businessType, DealType_ID, IP, rating, popular, dealSearchData, tag,
submitName, provider_dealID)
VALUES (NULL,
2651049,
NULL,
'Toronto East Community Arts Program',
'Three-Week Photography Workshop',
NULL,
NULL,
'https://a1.image.net/imgs/8423535b-bd3b-4e1e-afee-ab2869970a4c/700_q60.jpg',
'https://www.exmples.com/deals/1336374',
111,
1,
'2015-11-12',
'2015-11-12 10:01:58.282826',
'2015-11-17 09:59:59',
'2015-11-17 23:59:00',
'M4M 1K7',
'ON',
'Toronto',
NULL,
'1',
'127.0.0.1',
0,
144565,
'Three-Week Photography Workshop',
'Photography Class',
'Partner',
1336374)
编辑 使用建议的示例如下:
self.DB['master']['cursor'].execute("SET SESSION TRANSACTION ISOLATION LEVEL READ UNCOMMITTED")
self.DB['master']['con'].commit()
self.DB['master']['cursor'].execute(dealsquery,data)
self.DB['master']['con'].commit()