2016-11-07 40 views
0

我目前正在研究大學的課程作業項目,其中涉及將所有背景數據存儲在數據庫中的測驗。通過添加外鍵,我試圖找到一種方法來合併兩個表之間的外鍵數據。例如,用戶表存儲用戶數據及其用戶ID。數據表將存儲關於測驗等級的信息以及該特定用戶ID。在插入數據時,這些信息如何從兩個表中自動更新?繼續收到錯誤TypeError:函數至多需要2個參數(給出3個)

該方法似乎不起作用,這裏是一些代碼。

difficulty= (1,) 
users_id = (1,) 

#values of variables 

def users_level(db,cursor,difficulty,users_id): 

    cursor.execute("insert into Data (Level,UsersID) VALUES (?,?)",(difficulty),(users_id)) 

    db.commit() 

我再用錯誤提出:

cursor.execute("insert into Data (Level,UsersID) VALUES (?,?)",(difficulty),(check_id)) 
TypeError: function takes at most 2 arguments (3 given) 

是否有一個解決這個問題?或者可能更容易/更有效的方法來自動增加來自其他表的外部密鑰的ID /數據。謝謝。

回答

3

cursor.execute需要兩個參數(查詢和詢問參數數組),但你傳遞3個參數:cursor.execute("insert into Data (Level, UsersID) VALUES (?,?)",(difficulty),(users_id))

你應該改變(difficulty),(users_id)到2元元組,(difficulty, users_id)

cursor.execute("insert into Data (Level, UsersID) VALUES (?,?)", (difficulty, users_id))

+0

嗨,謝謝你的回覆!這是調整我的代碼後現在出現的錯誤。 cursor.execute(「insert into Data(Level,UsersID)VALUES(?,?)」,(difficulty,users_id)) sqlite3.InterfaceError:錯誤綁定參數1 - 可能不支持的類型。 –

相關問題