我使用主鍵和自動增量創建了一個表。Python - 沒有自動增量主鍵值的Sqlite插入元組
with open('RAND.xml', "rb") as f, sqlite3.connect("race.db") as connection:
c = connection.cursor()
c.execute(
"""CREATE TABLE IF NOT EXISTS race(RaceID INTEGER PRIMARY KEY AUTOINCREMENT,R_Number INT, R_KEY INT,\
R_NAME TEXT, R_AGE INT, R_DIST TEXT, R_CLASS, M_ID INT)""")
我想然後插入一個元組,這當然比總列數小1,因爲第一個是自動增量。
sql_data = tuple(b)
c.executemany('insert into race values(?,?,?,?,?,?,?)', b)
如何解決此錯誤。
sqlite3.OperationalError: table race has 8 columns but 7 values were supplied
我可能會誤導你,因爲我相信如果你試圖在主鍵字段中存儲NULL(因爲NULL永遠不是有效的主鍵),一些數據庫會生成自動增量值。 – holdenweb
是的,它仍然是錯誤。 'python xml_race.py Traceback(最近呼叫的最後一個): 文件「xml_race.py」,第78行,在 值(?,?,?,?,?,?,?)''',sql_data) sqlite3.ProgrammingError:提供的綁定數量不正確。當前的語句使用7,並提供了6。將嘗試在 –
sayth
中添加一個空值該錯誤消息的明確含義不是「len(sql_data)!= 7」 - 您可以使用「print」來檢查它以驗證嗎? – holdenweb