在Python中使用MySQL连接器插入数据

9 投票
2 回答
8122 浏览
提问于 2025-04-17 16:42

我遇到了一个奇怪的问题,当我想把数据插入到我的数据库时,数据既没有插入成功,也没有出现错误(没有抛出异常)!如果数据重复或者表名错误,才会抛出异常!!

这是我的代码!

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,包含三个字段,分别是 idusernamepassword。其中,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 的逻辑规则。

撰写回答