python新手求助程序问题

各位大神好:
我在课本上抄了一段程序,想看看运行结果,运行时却报错,请帮忙查看是什么原因.
代码如下

 import sqlite3

def convert(value):
    if value.startswith('~'):
        return value.strip('~')
    if not value:
        value = '0'
    return float(value)

conn=sqlite3.connect('food.db')
curs=conn.cursor()

curs.execute('''
CREATE TABLE food (
  id      TEXT   PRIMARY,
  desc    TEXT,
  water   FLOAT,
  kcal    FLOAT,
  protein FLOAT,
  fat     FLOAT,
  ash     FLOAT,
  carbs   FLOAT,
  fiber   FLOAT,
  sugar   FLOAT
)
''')
query='INSERT INTO food VALUE (?,?,?,?,?,?,?,?,?,?)'
for line in open(r'C:\Users\wgh\Downloads\ABBREV.txt'):
    fields = line.split('^')
    vals=[convert(f) for f in fields[:field_count]]
    curs.execute(query,vals)

conn.commit()
conn.close()

报错内容如下:
Traceback (most recent call last):
File "E:/python/Lib/site-packages/importdata.py", line 26, in
''')
sqlite3.OperationalError: near ",": syntax error

3个回答

是PRIMARY KEY不是PRIMARY

你的数据库到底是sqllite(db)还是txt的?
你这个不是python而是sql的问题

sql语句的语法错误,id主键,应该是PRIMARY KEY

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!