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 3.x 使用字符串而不是ID从数据库获取数据_Python 3.x_Sqlite - Fatal编程技术网

Python 3.x 使用字符串而不是ID从数据库获取数据

Python 3.x 使用字符串而不是ID从数据库获取数据,python-3.x,sqlite,Python 3.x,Sqlite,每当我们将数据保存到数据库时,总会有一个相应的ID,我们使用它从该特定列获取数据 sql_con.execute("SELECT FROM DBNAME WHERE ID = ?", id) 上面的代码只允许我们从ID获取数据。问题是上面的代码只接受1个提供的绑定。在我的数据库中,我使用字符串集作为每个列的ID,这意味着我的ID的绑定多于1。而且,这些字符串集具有不同的绑定(或字符计数) 如何修改上面的代码,以便输入字符串作为ID,防止它收到特定错误: sqlite3.ProgrammingE

每当我们将数据保存到数据库时,总会有一个相应的ID,我们使用它从该特定列获取数据

sql_con.execute("SELECT FROM DBNAME WHERE ID = ?", id)
上面的代码只允许我们从ID获取数据。问题是上面的代码只接受1个提供的绑定。在我的数据库中,我使用字符串集作为每个列的ID,这意味着我的ID的绑定多于1。而且,这些字符串集具有不同的绑定(或字符计数)

如何修改上面的代码,以便输入字符串作为ID,防止它收到特定错误:

sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 8 supplied.

先谢谢你。我使用Python 3.xx和内置模块sqlite3。数据库采用.db文件格式,是一个基于磁盘的数据库

我通过问别人找到了自己问题的答案。 要解决输入绑定的问题,只需将参数转换为元组即可

OLD CODE:
sql_con.execute("SELECT FROM DBNAME WHERE ID = ?", id)
进入这个

NEW CODE:
sql_con.execute("SELECT * FROM DBNAME WHERE ID = ?", (id,))
希望能有帮助