我有一个表,我想翻译一行的“topic”和“review”列,并将整个表及其翻译存储到一个新表中。似乎for循环没有遍历输入表的所有行。只有第一行存储到新表中。为什么?
database = mysql.connector.connect(user='root', password='root', host='localhost', database='test')
DBcursor = database.cursor(buffered=True)
query = ("SELECT * FROM test_de")
DBcursor.execute(query)
for (id, user_name, date, country, version, score, topic, review, url) in DBcursor:
topic_trans = translate(topic, 'en')
review_trans = translate(review, 'en')
add_translation = ("INSERT INTO test_de_en(id, user_name, date, country, version, score, topic, review, url)"
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)")
translation_data = (id, user_name, date, country, version, score, topic_trans, review_trans, url)
DBcursor.execute(add_translation, translation_data)
database.commit()
DBcursor.close()
database.close()
字符串
1条答案
按热度按时间bvuwiixz1#
您在for循环内外都使用了变量名“DBcursor”,因此您正在修改变量并丢失resultSet。
例如,如果在外部使用DBcursor1,在内部使用DBcursor2,它应该可以工作。