Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 继续获取错误类型错误:函数最多接受2个参数(给定3个)_Python_Sqlite_Foreign Keys_Relational Database_Typeerror - Fatal编程技术网

Python 继续获取错误类型错误:函数最多接受2个参数(给定3个)

Python 继续获取错误类型错误:函数最多接受2个参数(给定3个),python,sqlite,foreign-keys,relational-database,typeerror,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。数据表将存储测验级别等信息以及特定用户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()
然后,我遇到了一个错误:

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

这个问题有解决办法吗?或者可能是一种更简单/更有效的方法,使用外键自动递增来自其他表的id/数据。谢谢。

cursor.execute
接受2个参数(查询和查询参数元组),但您要传递它3个参数:
cursor.execute(“插入数据(级别,用户SID)值(?,),(难度),(用户id))

您应该将
(难度),(用户id)
更改为2元素元组,
(难度,用户id)


嗨,谢谢你的回复!下面是调整代码后出现的错误。cursor.execute(“插入数据(级别,用户SID)值(?,),(难度,用户id))sqlite3.InterfaceError:绑定参数1时出错-可能不支持类型。
cursor.execute("insert into Data (Level, UsersID) VALUES (?,?)", (difficulty, users_id))