3 回答

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超1個(gè)贊
我不確定,但我猜你正在使用INNODB表,而你還沒(méi)有完成提交。我相信MySQLdb會(huì)自動(dòng)啟用事務(wù)。
打電話conn.commit()
前打電話close
。
從FAQ: 從1.2.0開(kāi)始,MySQLdb默認(rèn)禁用自動(dòng)提交

TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個(gè)贊
MySQLdb默認(rèn)情況下自動(dòng)關(guān)閉,這可能會(huì)讓人感到困惑。您的連接存在于其自己的事務(wù)中,在提交該事務(wù)之前,您將無(wú)法看到從其他連接所做的更改。
您可以conn.commit()
像其他人指出的那樣在更新語(yǔ)句之后執(zhí)行,或者conn.autocommit(True)
在創(chuàng)建連接對(duì)象后立即通過(guò)設(shè)置完全禁用此功能。

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊
您需要手動(dòng)提交更改或打開(kāi)自動(dòng)提交。
SELECT返回已修改(但未保留)數(shù)據(jù)的原因是因?yàn)檫B接仍在同一事務(wù)中。
添加回答
舉報(bào)