Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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
SQLite python-参数的类型不受支持_Python_Sqlite - Fatal编程技术网

SQLite python-参数的类型不受支持

SQLite python-参数的类型不受支持,python,sqlite,Python,Sqlite,我想使用Python sqlite模块将记录插入sqlite数据库 使用executemany()执行INSERT语句会导致“参数类型不受支持”错误 得到 如何将var解析到表中?将(项),替换为(项,)。具有输出的工作代码如下所示 import sqlite3 conn = sqlite3.connect('food.db') c = conn.cursor() c.execute('''CREATE TABLE IF NOT EXISTS nutritional_values

我想使用Python sqlite模块将记录插入sqlite数据库

使用executemany()执行INSERT语句会导致“参数类型不受支持”错误

得到

如何将var解析到表中?

(项),
替换为
(项,)
。具有输出的工作代码如下所示

import  sqlite3
conn = sqlite3.connect('food.db')
c = conn.cursor()

c.execute('''CREATE TABLE IF NOT EXISTS nutritional_values
                (item, calories, total fat, protein)''')
items = [       ('Broccoli Chinese',    22,     0.7,    1.1),
                ('chia seeds',          490,    30.8,   15.6),
                ('blueberries',         57,     0.3,    0.7),]
c.executemany('INSERT INTO nutritional_values VALUES (?,?,?,?)',items)


c.execute('''CREATE TABLE IF NOT EXISTS food_consumption
                (date, item, amount)''')
c.execute('DELETE FROM food_consumption')
consumed = [    ('24/8/2019', 'Broccoli Chinese',    1.5),
                ('24/8/2019', 'chia seeds',          0.35),
                ('24/8/2019', 'blueberries',         0.4),]
c.executemany('INSERT INTO food_consumption VALUES (?,?,?)',consumed)

sql = """SELECT nv.item, nv.calories
         FROM nutritional_values nv
         INNER JOIN food_consumption fc
             ON nv.item = fc.item"""

for row in c.execute(sql):
    print(row)

c.execute('''CREATE TABLE IF NOT EXISTS nutrition_consumed
                (var1)''')

for row in c.execute(sql):
    var1 = row[1]*2
    item = [(var1),]
    c.executemany('INSERT INTO nutrition_consumed VALUES (?)', (item,))

for row in c.execute('SELECT * FROM nutrition_consumed'):
    print(row)

conn.commit()
conn.close()
输出:

abhay@abhay-Lenovo-Z51-70:~$python test.py

(‘西兰花中国’,22) (《甲骨文》,490) (《蓝莓》,57)
(44,)

(项目)
应该是
(项目,)
,使其成为元组。好的,更正了,但这不会改变错误我说的
(项目,)
不是
(项目),
重复:
    c.executemany('INSERT INTO nutrition_consumed VALUES (?)', (item),)
ValueError: parameters are of unsupported type
import  sqlite3
conn = sqlite3.connect('food.db')
c = conn.cursor()

c.execute('''CREATE TABLE IF NOT EXISTS nutritional_values
                (item, calories, total fat, protein)''')
items = [       ('Broccoli Chinese',    22,     0.7,    1.1),
                ('chia seeds',          490,    30.8,   15.6),
                ('blueberries',         57,     0.3,    0.7),]
c.executemany('INSERT INTO nutritional_values VALUES (?,?,?,?)',items)


c.execute('''CREATE TABLE IF NOT EXISTS food_consumption
                (date, item, amount)''')
c.execute('DELETE FROM food_consumption')
consumed = [    ('24/8/2019', 'Broccoli Chinese',    1.5),
                ('24/8/2019', 'chia seeds',          0.35),
                ('24/8/2019', 'blueberries',         0.4),]
c.executemany('INSERT INTO food_consumption VALUES (?,?,?)',consumed)

sql = """SELECT nv.item, nv.calories
         FROM nutritional_values nv
         INNER JOIN food_consumption fc
             ON nv.item = fc.item"""

for row in c.execute(sql):
    print(row)

c.execute('''CREATE TABLE IF NOT EXISTS nutrition_consumed
                (var1)''')

for row in c.execute(sql):
    var1 = row[1]*2
    item = [(var1),]
    c.executemany('INSERT INTO nutrition_consumed VALUES (?)', (item,))

for row in c.execute('SELECT * FROM nutrition_consumed'):
    print(row)

conn.commit()
conn.close()