繁体   English   中英

python sqlite3.OperationalError:“-”附近:语法错误

[英]python sqlite3.OperationalError: near “-”: syntax error

我知道还有其他类似问题,但找不到有效的解决方案。 我的桌面上有一个数据库文件,我从数据库文件中获取数据库列名称。 我从具有与数据库文件相同列名的excel文件创建值列表,然后尝试使用下面的脚本更新数据库文件,但标题中始终出现错误。 这个工作在星期一...现在抛出此错误

    values = ['111-222-333-44', 'xxxxx', '8W 1 CPD FR with ESD Guard', 'STEVES Power INC', '6.01', '9.05', 'beach', 'None', '7000008']
    #values is autocreated but here is the list
    conn = sqlite3.connect(databasefile)

    cursor = conn.execute('select * from powersupplies')
    names = list(map(lambda x: x[0], cursor.description))
    col_names = ', '.join(names)
    print col_names

    col_spaces = ','.join(['?'] * len(names))
    print col_spaces
    c = conn.cursor()

    sql = 'INSERT INTO powersupplies (%s) values(%s)' % (col_names, col_spaces)
    c.execute(sql, values)

    conn.commit()
    conn.close()

cursor = conn.execute('从电源选择*')

这条线在这里。 如果您选择的任何这些值中都带有“-”,则可能是您的问题。 我之前遇到过这个确切的错误,而摆脱破折号已经为我修复了。

但是,其他人可能会对您如何包含它们有更好的解决方案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM