為什麼插入語句不報錯,也插不進去 第一張圖執行之後mysql資料庫沒變,第二張圖正常執行

時間 2021-07-13 12:37:12

1樓:資料庫乾貨鋪

第一張圖是DML操作,需要顯式進行提交。因為你的程式裡沒有寫提交命令,所以庫里查不到資料

第二張圖正常是因為做的DDL操作,不涉及事務,執行完成後便能在庫里查到。

2樓:葉金榮

InnoDB是事務引擎表,支援事務。

而在pymysql中,預設是沒有啟用自動提交模式的:

[root

@yejr

-mgr1

pymysql

]# cat /usr/lib/python2.7/site-packages/pymysql/connections.py

...#約158行附近

158:

param

autocommit

:Autocommit

mode

.None

means

useserver

default.(

default

:False

)...

所以,需要在連線時,開啟自動提交模式,例如:

#設定屬性autocommit=1亦可

conn

=pymysql

.connect

(host

='127.0.0.1'

,user

='yewen'

,passwd

='YeWen.3306'

,port

=3306,db

='test'

,charset

='utf8mb4'

,autocommit

=True

)或者執行完DML操作後,再執行一次commit,例如:

sql=

"insert into t1...

cur.

execute

(sql

)cur

.execute

("commit"

)或者在建立完連線後,手動修改autocommit模式,例如:

conn

=pymysql

.connect

(host

='127.0.0.1'

,user

='yewen'

,passwd

='YeWen.3306'

,port

=3306,db

='test'

,charset

='utf8mb4'

)cur

=conn

.cursor

()cur

.execute

("set autocommit=1"

)您喜歡哪種呢 :)

為什麼有人對父母報憂不報喜

楊五毛說 這個問題是我當兵的時候班長和領導說的最多的一句話了我的家庭很普通,爸媽很辛苦,本來生活的苦累已經將他們折磨的氣喘吁吁做孩子的再說一些讓他們擔憂的訊息那他們本來不那麼堅強的心靈又會多乙份單字 吃也吃不好睡也睡不好,畢竟是自己的孩子,要不惜一切先解決孩子的問題特別是你離家後,一定要保持這個習慣...

範圍for語句裡為什麼要用引用?

Jude Gao 問 既然如此為什麼在範圍迴圈語句中要用引用呢?其意義是什麼?答 用range for遍歷的時候,你遍歷的是元素的拷貝。每次拷貝都需要呼叫該元素型別的copy constructor。由於通常的use case中,我們不會對遍歷的元素進行更改,也就意味著copy by value的特...

為什麼Windows在U盤插入時需要安裝驅動而Android手機使用OTG功能時不需要安裝驅動?

不是搞驅動開發的,只是業餘愛好者,強答一波 首先,各種U盤其實都可以用乙個通用驅動搞定。可能還有一些奇奇怪怪的坑被這個驅動默默填上了?我不清楚 U盤會通過USB協議報告給手機 電腦系統自己的VID 製造商ID PID 產品ID 這些值,然後系統就知道有U盤插進來了,會做對應的識別和配置等工作,Lin...