我遇到了一个问题,我有一个SQL语句,当在我的MySQL工作台中运行时,它会正确执行,但是当使用python包函数运行时,cursor.execute()就不能工作了。问题SQL语句是:
替换为mmm_dev.samp_wp_links SELECT *从mmm_master.samp_wp_links;
语句应该将mmm_master中的所有数据复制到mmm_dev中。下面是用于执行查询的python代码:
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
def examine(cursor, cnx):
try:
qry = cursor.execute("REPLACE INTO mmm_dev.samp_wp_links SELECT * FROM mmm_master.samp_wp_links;")
except mysql.connector.Error as err:
print("Failed to select everything")
exit(1)发布于 2017-06-23 20:37:55
MySQL Python库是佩普249-compliant:
.commit ()将任何挂起的事务提交到数据库。 请注意,如果数据库支持自动提交功能,则必须首先关闭此功能。可以提供一个接口方法来打开它。 不支持事务的数据库模块应该实现此方法的空功能。
调用cnx.commit()
发布于 2017-06-23 20:22:54
打给examine()。用print()进行调试
cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
def examine(cursor):
print("[DEBUG] 1: before query")
try:
qry = cursor.execute("REPLACE INTO mmm_dev.samp_wp_links SELECT * FROM mmm_master.samp_wp_links;")
print("[DEBUG] 2: after query")
except mysql.connector.Error as err:
print("Failed to select everything %s" % err)
exit(1)
print("[DEBUG] 3: success")
examine(cursor)发布于 2021-01-11 04:38:26
您必须执行提交。
mydb.commit()为了保存所做的更改。
https://stackoverflow.com/questions/44728506
复制相似问题