Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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-使用sqlite3将文件名插入数据库_Python_Sqlite - Fatal编程技术网

Python-使用sqlite3将文件名插入数据库

Python-使用sqlite3将文件名插入数据库,python,sqlite,Python,Sqlite,我已在数据库中创建了此表: cur.execute("""CREATE TABLE VIDEO(ID VARCHAR(128) NOT NULL PRIMARY KEY)""") 我的脚本要做的是读取文件夹中的所有文件,并将文件名放入视频表(文件名是ID和主键): 但我有一个错误: cur.execute("""INSERT INTO VIDEO(ID) VALUES(?)""", (video)) sqlite3.ProgrammingError: Incorrect number

我已在数据库中创建了此表:

cur.execute("""CREATE TABLE VIDEO(ID VARCHAR(128) NOT NULL PRIMARY KEY)""")
我的脚本要做的是读取文件夹中的所有文件,并将文件名放入视频表(文件名是ID和主键):

但我有一个错误:

    cur.execute("""INSERT INTO VIDEO(ID) VALUES(?)""", (video))
sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 26 supplied.
现在26是我试图添加的文件名中的字符数,所有文件都是通过以下方式从文件夹中读取的:

for video in os.listdir(VIDEO_FOLDER):
  AddVideo(video)

如果我没有弄错的话,cur.execute()函数将参数元组作为其第二个参数。它将您的
参数视为一个元组,在本例中,元组长度为26个字符。要使其成为元组,只需添加一个逗号

cur.execute("""INSERT INTO VIDEO(ID) VALUES(?)""", (video,))

请检查此处提供的解决方案是否对您有帮助:[1][1]:这就是问题所在,谢谢!
cur.execute("""INSERT INTO VIDEO(ID) VALUES(?)""", (video,))