SQLite的插入查询显示0个值
我正在用flask/python做一个小项目,其中只有一个数据库,它有一个表和一个列init。 但是我的数据库出了一个错误 每当我通过在cmd中触发“python dbase.py”来检查数据库时。 它给出了一个错误,它说 “”文件“dbase.py”,第19行,在 当前执行(“插入tdaba(输入)值(?)”,daba) sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用1,提供了3个。”“” 我将使用此数据库在“输入”列中在线输入文本,为此我需要插入查询 我的数据库名为“daba”,它存储在名为“dbase.py”的文件中 它的代码是:SQLite的插入查询显示0个值,sqlite,system.data.sqlite,sqliteopenhelper,Sqlite,System.data.sqlite,Sqliteopenhelper,我正在用flask/python做一个小项目,其中只有一个数据库,它有一个表和一个列init。 但是我的数据库出了一个错误 每当我通过在cmd中触发“python dbase.py”来检查数据库时。 它给出了一个错误,它说 “”文件“dbase.py”,第19行,在 当前执行(“插入tdaba(输入)值(?)”,daba) sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用1,提供了3个。”“” 我将使用此数据库在“输入”列中在线输入文本,为此我需要插入查询 我
import sqlite3 as lite
import sys
daba = (
('1st mssg'),
('my 2nd mssg'),
('3rd msg, How r U ?')
)
con = lite.connect('daba.db')
with con:
cur = con.cursor()
cur.execute("DROP TABLE IF EXISTS tdaba")
cur.execute("CREATE TABLE tdaba(input TEXT)")
cur.execute("INSERT INTO tdaba (input) VALUES (?)", daba)
第一个问题是“daba”,它是字符串的元组而不是元组的元组
In [1]: daba = (
....: ('1st mssg'),
....: ('my 2nd mssg'),
....: ('3rd msg, How r U ?')
....: )
In [2]: daba
Out[2]: ('1st mssg', 'my 2nd mssg', '3rd msg, How r U ?')
修复-在每个字符串后添加逗号(对于具有一个元素的元组是必需的)
第二个问题-execute方法。您应该使用ExecuteMy。请检查
daba = (
('1st mssg',),
('my 2nd mssg',),
('3rd msg, How r U ?',)
)
cur.executemany("INSERT INTO tdaba (input) VALUES (?)", daba)