jor*_*son 0 python sqlite foreign-keys relational-database typeerror
我目前正在上大学的课程项目,涉及一个测验,该测验将所有背景数据存储在数据库中。通过添加外键,我试图找到一种方法来合并两个表之间的外键数据。例如,users表存储用户数据及其用户ID。数据表将存储有关测验级别等信息以及该特定用户ID。插入数据时如何从两个表中自动更新该信息?
该方法似乎不起作用,下面是一些代码。
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()
Run Code Online (Sandbox Code Playgroud)
然后出现错误:
cursor.execute("insert into Data (Level,UsersID) VALUES (?,?)",(difficulty),(check_id))
TypeError: function takes at most 2 arguments (3 given)
Run Code Online (Sandbox Code Playgroud)
有解决这个问题的方法吗?或者可能是一种更容易/更有效的方法,可以使用外键从其他表中自动增加ID /数据。谢谢。
cursor.execute
需要2个参数(查询和查询args元组),但您要传递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))
Run Code Online (Sandbox Code Playgroud)