第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

數(shù)據(jù)庫不會使用MySQL和Python自動更新

數(shù)據(jù)庫不會使用MySQL和Python自動更新

慕勒3428872 2019-08-13 16:12:08
數(shù)據(jù)庫不會使用MySQL和Python自動更新我在更新MySQL數(shù)據(jù)庫中的某行時遇到了一些麻煩。這是我正在嘗試運行的代碼:import MySQLdbconn=MySQLdb.connect(host="localhost", user="root", passwd="pass", db="dbname")cursor=conn.cursor()cursor.execute("UPDATE compinfo SET Co_num=4 WHERE ID=100")cursor.execute("SELECT Co_num FROM compinfo WHERE ID=100")results = cursor.fetchall()for row in results:     print row[0]print "Number of rows updated: %d" % cursor.rowcount cursor.close()conn.close()我運行這個程序時得到的輸出是:4 更新的行數(shù):1它似乎正在工作,但如果我從MySQL命令行界面(CLI)查詢數(shù)據(jù)庫,我發(fā)現(xiàn)它根本沒有更新。但是,如果從CLI我輸入UPDATE compinfo SET Co_num=4 WHERE ID=100;數(shù)據(jù)庫按預(yù)期更新。我的問題是什么?我正在Windows機器上運行帶有MySQL 5.1.30的Python 2.5.2。
查看完整描述

3 回答

?
慕神8447489

TA貢獻1780條經(jīng)驗 獲得超1個贊

我不確定,但我猜你正在使用INNODB表,而你還沒有完成提交。我相信MySQLdb會自動啟用事務(wù)。

打電話conn.commit()前打電話close。

從FAQ: 從1.2.0開始,MySQLdb默認禁用自動提交


查看完整回答
反對 回復(fù) 2019-08-13
?
繁星淼淼

TA貢獻1775條經(jīng)驗 獲得超11個贊

MySQLdb默認情況下自動關(guān)閉,這可能會讓人感到困惑。您的連接存在于其自己的事務(wù)中,在提交該事務(wù)之前,您將無法看到從其他連接所做的更改。

您可以conn.commit()像其他人指出的那樣在更新語句之后執(zhí)行,或者conn.autocommit(True)在創(chuàng)建連接對象后立即通過設(shè)置完全禁用此功能。


查看完整回答
反對 回復(fù) 2019-08-13
?
慕的地6264312

TA貢獻1817條經(jīng)驗 獲得超6個贊

您需要手動提交更改或打開自動提交。

SELECT返回已修改(但未保留)數(shù)據(jù)的原因是因為連接仍在同一事務(wù)中。


查看完整回答
反對 回復(fù) 2019-08-13
  • 3 回答
  • 0 關(guān)注
  • 656 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號