在Python中使用MySQL连接器插入数据
我遇到了一个奇怪的问题,当我想把数据插入到我的数据库时,数据既没有插入成功,也没有出现错误(没有抛出异常)!如果数据重复或者表名错误,才会抛出异常!!
这是我的代码!
from mysql import connector
con = connector.Connect(user='root',password='root',database='test',host='localhost')
cur=con.cursor()
cur.execute("""insert into user values ('userName', 'passWord')""")
这个数据库叫做 test
,里面只有一个表,叫做 users
,包含三个字段,分别是 id
、username
和 password
。其中,username 是唯一的,id 是自动递增的。
注意:我也使用了这个查询!:
"""insert into user (
username
,password
) values ('userName', 'passWord');"""
我尝试了很多方法,但什么都没有发生(既没有插入成功,也没有抛出异常!)
2 个回答
4
看起来你可能忘记保存你的更改了。
14
from mysql import connector
con = connector.Connect(user='root',password='root',database='test',host='localhost')
cur=con.cursor()
cur.execute("""insert into user values ('userName', 'passWord')""")
**con.commit()**
con.close()
你可能忘了使用 con.commit,这个是用来把你对数据库的修改保存下来的。
不要在每次插入或更新数据的时候都用 con.commit(),应该把多个操作放在一起,用一次 con.commit() 来保存,这样更符合 SQL 的逻辑规则。