python中sqlite3,使用游标对象向数据库内插入数据,执行后,数据库内未增加新的数据

import sqlite3
coo = sqlite3.connect('mrsoft.db')
cursor = coo.cursor()
try:
    cursor.execute("insert into user(id,name)values ('4','Yu')")
except Exception as e:
    print('错误信息:',e)
finally:
    cursor.close()
    coo.close()
    print('操作数据库完成')
 执行这段代码后,没有保存,但是数据库内未增加数据。
import sqlite3
 with sqlite3.connect('mrsoft.db') as cursor:
     cursor.execute('insert into user(id,name)values ("3","Bob")')
执行这段代码后,成功将数据插入数据库中了。。。

求教,为什么出现了这种情况呢?


瓶水相逢
浏览 1014回答 1
1回答

pardon110

游标对象是用来执行select查询数据库的,db连接对象才是用来做增删改操作的。你在cursor对象上insert自然得不到结果,后者用with虽然句柄名叫cursor,但实际上是一个数据库连接对象。python虽是动态语言,但最基本的类型意识还要是有的。分清数据类型,类型决定操作的方法集。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python