獲取一個conn,需執(zhí)行多條命令,每次執(zhí)行一個sql后需要關(guān)閉cursor么?
2 回答

波斯汪
TA貢獻1811條經(jīng)驗 獲得超4個贊
可以一次執(zhí)行多條。用python來舉個栗子
import MySQLdb as mdb import sys conn = mdb.connect(host = 'localhost', user = 'root', passwd = '123456', db = 'test') cur = conn.cursor() cur.execute("insert into contact values('key1', 'value1')") cur.execute("select * from test") row_num = int(cur.rowcount)for i in range(row_num): row = cur.fetchone() print row #在數(shù)據(jù)操作完成之后,進行commit,完成數(shù)據(jù)庫的數(shù)據(jù)更新 conn.commit() cur = conn.cursor() conn.close()
此問題與MySQL的存儲引擎對事務(wù)的支持有關(guān)。 MySQL中有多種類型的存儲引擎, 例如: MyISAM, InnoDB等。 MyISAM不支持事務(wù)處理, 而InnoDB是事務(wù)型數(shù)據(jù)庫, 支持事務(wù)。比如InnoDB引擎, 所以對數(shù)據(jù)庫數(shù)據(jù)的操作會在事先分配的緩存中進行, 只有在commit之后, 數(shù)據(jù)庫的數(shù)據(jù)才會改變。
添加回答
舉報
0/150
提交
取消