使用Python将行插入SQLite时出错

时间:2014-06-03 20:03:19

标签: python sqlite

尝试从Python向SQLite表中插入行时出错。

相关代码;

sql = '''INSERT INTO scr(scr=?, close_date=?, vendor=?, application=?, dev=?, tester=?, release=?)''', (issueId, closeDate, vendor, application, assignedDev, assignedTester, enterpriseRelease)
try:
    cursor.execute(sql)
    db.commit()
except Exception, err:
    print("\nFailed to insert row into table scr:\n" + str(sql))
    print(Exception, err)

并返回错误:

Failed to insert row into table scr:
('INSERT INTO scr(scr=?, close_date=?, vendor=?, application=?, dev=?, tester=?, release=?)', ('236500', '0', 'Database', 'Starbase Deleted', 'john.doe', 'jane.doe', 'None'))
(<type 'exceptions.Exception'>, ValueError('operation parameter must be str or unicode',))

1 个答案:

答案 0 :(得分:2)

你的sql语句不对,试试这个:

sql = '''INSERT INTO scr(scr, close_date, vendor, application, dev, tester, release) VALUES (?, ?, ?, ?, ?, ?, ?)'''
params = (issueId, closeDate, vendor, application, assignedDev, assignedTester, enterpriseRelease)

try:
    cursor.execute(sql, params)
    db.commit()
except Exception as err:
    print("\nFailed to insert row into table scr:\n" + str(sql))
    print(Exception, err)