内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

python2.7能不能同時連接兩個數(shù)據(jù)庫

本篇內(nèi)容主要講解“python2.7能不能同時連接兩個數(shù)據(jù)庫”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“python2.7能不能同時連接兩個數(shù)據(jù)庫”吧!

創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設,靈寶企業(yè)網(wǎng)站建設,靈寶品牌網(wǎng)站建設,網(wǎng)站定制,靈寶網(wǎng)站建設報價,網(wǎng)絡營銷,網(wǎng)絡優(yōu)化,靈寶網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。

一、前言

這個問題是本人在開發(fā)的時候,遇到需要在一個腳本里面連接兩個數(shù)據(jù)庫的需求,當時對于python2.7不是很熟悉,所以想要在網(wǎng)上搜一下python2.7是否可以同時連接兩個數(shù)據(jù)庫,只是并沒有一個明確的答案。加上當時腳本一直報錯,所以導致本人很懷疑是否同時連接兩個數(shù)據(jù)庫是不合理的。。

只是python作為一個成熟的語言,同時連接多個數(shù)據(jù)庫本來就是手到擒來的問題。本篇首先是要回答,python是可以連接多個數(shù)據(jù)庫的,其次是記錄一下操作數(shù)據(jù)庫出現(xiàn)的問題。

二、雙數(shù)據(jù)庫操作遇到的bug

1、大致步驟

//連接
db1 = MySQLdb.connect(host=dbhost, user=dbuser, passwd=dbpass, db=dbname, port=dbport)
db2 = MySQLdb.connect(host=slavehost, user=slaveuser, passwd=slavepass, db=slavedb, port=dbport)
//獲取cursor對象
cursor = db1.cursor()
cursor_build = db2.cursor()
//操作數(shù)據(jù)庫
cursor.execute(sql1)
cursor_build.execute(sql2)
//結(jié)果
db1操作成功,db2操作無響應

如步驟所示,本人在操作的時候,發(fā)現(xiàn)db1是可以正常執(zhí)行的,但是到db2就死活不成功,此時的腳本并沒有報錯。

2、打印相關信息

(1)打印db2的信息

mysql實例:<MySQLdb.cursors.Cursor object at 0x0000000002DA9908>

sql打?。褐苯釉跀?shù)據(jù)庫中執(zhí)行sql無報錯

(2)打印cursor 對象

<_mysql.connection open to 'localhost' at 0000000002D42458>
<_mysql.connection open to 'localhost' at 0000000002D42E78>

可以看到兩個數(shù)據(jù)庫都是有cursor 對象的,而且并沒有什么明顯的差異,都能正常操作數(shù)據(jù)庫才對

(3)打印返回值

result = db2.execute(insert_build_sql) # 插入數(shù)據(jù)
print result

返回結(jié)果是1 ,代表受影響行數(shù)是1,但是實際上數(shù)據(jù)庫并沒有插入進去。關鍵是db1還是插入成功了,簡直是無語。

三、問題所在

正在本人瘋狂搜索無果的時候,一個py大佬剛好在群上發(fā)消息,本人果斷抓住機會詢問這個博主,最終解決了這個問題。

咨詢py大佬們,有個大佬問是否開啟了autocommit,這肯定是沒有的。本來db1能插入成功,本人就想當然以為db2也能插入成功,不需要手動commit之類的。然而還是小看了python,后來百度查詢才知道,MySQLdb 在連接后關閉了自動提交,行叭,很強勢。

在連接完db之后,新增autocommit屬性,設置自動提交

 db1.autocommit(1)
 db2.autocommit(1)

繼續(xù)測試,發(fā)現(xiàn)完美寫入。不過通過這件事也能發(fā)現(xiàn)mysqldb操作mysql的一些特性,一般來說,當只連接一個庫的時候,是可以進行正常的增刪改查的。但是當連接多個庫的時候,如果不顯式設置autocommit的話,mysqldb 會自動在語句執(zhí)行完加一句 set autocommit = 0。眾所周知的是innodb引擎的操作都是帶有事務特性的,關閉自動提交自然是無法成功執(zhí)行sql的。

到此,相信大家對“python2.7能不能同時連接兩個數(shù)據(jù)庫”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!

文章題目:python2.7能不能同時連接兩個數(shù)據(jù)庫
標題鏈接:http://www.rwnh.cn/article24/gjhgje.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、ChatGPT、、網(wǎng)站策劃、網(wǎng)站營銷定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
神农架林区| 涡阳县| 阿坝县| 永和县| 白朗县| 乌鲁木齐县| 阳山县| 寿阳县| 安乡县| 龙井市| 密云县| 舟曲县| 新闻| 漳平市| 柯坪县| 凤台县| 乌兰浩特市| 深泽县| 油尖旺区| 广元市| 上饶市| 舒兰市| 博爱县| 米泉市| 奉节县| 望城县| 布尔津县| 湟中县| 特克斯县| 大理市| 鹰潭市| 慈利县| 井陉县| 永城市| 新源县| 阜宁县| 卢湾区| 阳西县| 嘉祥县| 隆子县| 铁力市|