Không cần sử dụng trình tạo để lặp qua mydata
. Chỉ cần nhập mydata
trực tiếp:
cur.executemany(sql, mydata)
Bộ điều hợp cơ sở dữ liệu sẽ lặp qua mydata
cho bạn và biểu thức trình tạo chỉ chèn thêm một vòng lặp không cần thiết.
Nếu bạn không nhận được bất kỳ thông báo lỗi nào nhưng cũng không có thay đổi nào, hãy kiểm tra như sau:
-
Đảm bảo rằng bạn cam kết giao dịch; chạy
con.commit()
sau.executemany()
gọi. -
Tripple-check
mydata
đó không trống.
Bộ điều hợp cơ sở dữ liệu sẽ xử lý chính xác các giá trị float cho bạn; nếu một cột được đánh dấu là FLOAT NOT NULL
và bạn chuyển giá trị float trong Python cho cột đó, Things Just Work. Đó là những gì tham số SQL dùng để xử lý việc trích dẫn các kiểu dữ liệu khác nhau một cách chính xác.