【发布时间】:2016-02-18 03:14:45
【问题描述】:
我刚开始使用 Python 的 Mysql 连接器库,我似乎遇到了一个我无法理解的问题。
我让 Python 动态生成要在 MySQl 数据库上执行的插入语句。
我在一个字符串中将它们一起批处理,然后在一个 cusrsor.execute() 语句中一起执行每个 n,但是由于某种原因,当我检查数据库和表时,找不到新行。
我什至只用两个插入语句一起尝试过,即使我调用执行,调用提交,然后按该顺序关闭游标和连接,它们仍然没有持久化到数据库中。
如果我在执行命令中只有一个插入语句并且我删除了多标志,那么它工作正常。
有人知道为什么会这样吗?
示例代码:
from mysql import connector
my_sql_connection = connector.connect(user='user', password='pass',
host='hostname',
database='db')
mysql_cursor = my_sql_connection.cursor()
statement = "Insert into table (col) values (1); Insert into table (col) values (2);"
mysql_cursor.execute(statement, multi=True)
my_sql_connection.commit()
mysql_cursor.close()
my_sql_connection.close()
调用此代码后,没有错误,但表中没有显示新行。
【问题讨论】:
标签: python mysql mysql-python