使用SQL查询插入数据的Python函数
虽然SQL语法似乎正确,但我得到了以下错误。请帮忙使用SQL查询插入数据的Python函数,python,sql,sqlite,Python,Sql,Sqlite,虽然SQL语法似乎正确,但我得到了以下错误。请帮忙 def create_table(self, **kwargs): query = "CREATE TABLE IF NOT EXISTS {} (" comma = r', ' for key, value in kwargs.items(): if key != 'table_name': query = query + key + ' ' + value + comma
def create_table(self, **kwargs):
query = "CREATE TABLE IF NOT EXISTS {} ("
comma = r', '
for key, value in kwargs.items():
if key != 'table_name':
query = query + key + ' ' + value + comma
query = query.format(kwargs['table_name']).rstrip(' ,') + ")"
print(query)
return self.cursor.execute(query)
def insert_values(self, *args):
query = r"INSERT INTO {} VALUES ("
comma = r','
for arg in args:
if arg != args[0]:
if type(arg) == str:
query = query + "'" + arg + "'" + comma
else:
query = query + str(arg) + comma
query = query.format(args[0]).rstrip(" ,") + ")"
print(query)
return self.cursor.execute(query)
db.create_table(table_name='store', item='TEXT', quantity='INTEGER', price='REAL')
db.insert_values('store', 'wine glass', 8, 10.5)
输出
# CREATE TABLE IF NOT EXISTS store (item TEXT, quantity INTEGER, price REAL)
# INSERT INTO store VALUES ('wine glass',8,10.5)
sqlite3.OperationalError:表存储区有1列,但有3个值
供应
解决了的
冻糕你是对的。
每次运行代码时,我都会删除我的类创建的本地数据库,并重新启动每个操作。方法是有效的,我只是没有看到实际的结果
完整代码如下:
确保
commit
任何操作或设置autocommit=True
。这是完整的代码吗?错误信息相当清楚。表store
是否可能已经存在,并且只有一列?然后,第一条语句createtable IF NOT EXISTS
将无误运行,并且不执行任何操作,因为该表已经存在。