Lỗi thực sự là do không phải sử dụng trình giữ chỗ giống như bạn phải làm .
Ngoài ra, bạn thực sự không muốn kết nối lại với cơ sở dữ liệu như vậy cho từng phần tử. Ngoài ra, bạn chỉ có thể cam kết khi mọi thứ đã xong:
connection = mysql.connector.connect(
host="localhost", user="root", passwd="admin", database="python"
)
cursor = connection.cursor()
for child in root:
for element in child:
for subelement in element:
a = subelement.attrib["currency"]
b = subelement.text
result = cursor.execute(
"INSERT INTO valoare (moneda, flux) VALUES (%s, %s)", (a, b)
)
connection.commit()