我正面臨一個問題,我試圖從python腳本將數據添加到mysql數據庫與InnonDB引擎,它可以很好地與mysql數據庫的myisam引擎一起工作。但是myisam引擎的問題是它不支持外鍵,所以我將不得不在每個要插入/刪除數據庫記錄的地方添加額外的代碼。在使用innondb引擎從mysql數據庫中插入python腳本的問題
有誰知道爲什麼InnonDB不能用python腳本和可能的解決方案解決這個問題?
我正面臨一個問題,我試圖從python腳本將數據添加到mysql數據庫與InnonDB引擎,它可以很好地與mysql數據庫的myisam引擎一起工作。但是myisam引擎的問題是它不支持外鍵,所以我將不得不在每個要插入/刪除數據庫記錄的地方添加額外的代碼。在使用innondb引擎從mysql數據庫中插入python腳本的問題
有誰知道爲什麼InnonDB不能用python腳本和可能的解決方案解決這個問題?
Python的DB API默認
從谷歌粘貼(第一頁,第二個結果)
的MySQL :: MySQL 5.0中參考手冊:: 13.2.8 InnoDB的禁用自動提交... 默認情況下,MySQL的啓動與自動提交每個新的連接會話... dev.mysql.com/.../innodb-transaction-model.html
然而
顯然的Python在非自動提交模式開始的MySQL,請參見:
http://www.kitebird.com/articles/pydbapi.html
從文章:
連接對象commit()方法犯任何未完成的更改當前的事務使它們在數據庫中永久存在。在DB-API中,連接以自動提交模式禁用開頭,所以您必須在斷開連接之前調用commit(),否則更改可能會丟失。
Bummer,不知道如何重寫,我不想讓你誤入歧途。 我會建議打開一個新的問題:
如何在MySQL python DB-API中啓用自動提交模式?
祝你好運。
>如何在MySQL python DB-API中啓用自動提交模式? conn.autocommit(True)從這裏開始:http://stackoverflow.com/q/12059424/719812 – 2017-02-04 01:37:57
您面臨的問題是什麼?你有錯誤信息嗎?你可以把它們發佈給我們嗎? – brandizzi 2011-04-13 19:02:47
你是什麼意思,「InnoDB不適用於Python腳本」?我一直使用它很好用。 – 2011-04-13 19:31:04
@Daniel在非自動提交模式下,如果在提交之前斷開連接,MySQL會將更新內容拋出窗口。聽起來對我來說。 – Johan 2011-04-14 07:32:00