Bạn đang gói từng đối số riêng lẻ trong một tuple
; đừng làm điều đó. Tức là, hãy làm điều này thay thế:
dbcur.execute(
"""INSERT INTO scripting (URL, Title, Content, Month, Date, Year, Time, TimeZone)
VALUES ("%s", "%s", "%s", "%s", "%s", "%s", "%s", "%s")""",
(URL[i], Title[i], Content[i], Month[i], Date[i], Year[i], Time1[i], TimeZone[i]))
Bạn chỉ cần quấn tất cả các giá trị được thay thế bằng một tuple, không có ngoại lệ.
Tôi có thể hiểu tại sao bạn bối rối ( "URL:url. Tôi đã đặt điều này bằng tuple và nó ổn." ):với DBAPI một đơn lẻ giá trị cũng cần được bao bọc trong 1 bộ trong ví dụ sau), nhưng đó vẫn là quy tắc tương tự áp dụng ở đây:
dbcur.execute('INSERT INTO scripting (URL) VALUES (%s)', (URL,))
Bây giờ chúng tôi chỉ thay thế URL
, nhưng chúng tôi vẫn bọc "tất cả", ví dụ:đối số duy nhất đó, trong một bộ.