没有错误,但没有数据写入SQLite DB

时间:2016-03-13 02:49:58

标签: python sqlite

我有一个名为result的python列表,其中包含7个项目......

print result

返回

[u'2013:11:29', u'17:01:11', u'Apple', u'iPhone 5', -36.57033055555556, 174.68374722222222, '5095c554fef7d990a2c57e0e12b18854']

我有这个代码设置我的数据库,并将结果写入数据库

conn = sqlite3.connect('geopic.sqlite')
cur = conn.cursor()
cur.execute('''DROP TABLE IF EXISTS Results''')
cur.execute('''CREATE TABLE Results (Date DATE, Time TIME, Make TEXT, Model TEXT, Latitude FLOAT, Longitude FLOAT, Hash VARCHAR(128))''')
for result in results:
    if result == None:
        continue
    else:
        print result  #this prints as expected
        cur.execute('''INSERT INTO Results (Date, Time, Make, Model, Latitude, Longitude, Hash) VALUES (?,?,?,?,?,?,?)''', result)

这样运行没有错误,但没有任何内容写入数据库。我很难过为什么!

2 个答案:

答案 0 :(得分:1)

conn.commit()附加到代码的末尾。

示例:

for result in results:
    if result == None:
        continue
    else:
        print result  #this prints as expected
        cur.execute('''INSERT INTO Results (Date, Time, Make, Model, Latitude, Longitude, Hash) VALUES (?,?,?,?,?,?,?)''', result)
conn.commit()

答案 1 :(得分:0)

好的 - 简单的答案 - 我忘了使用

conn.commit()

将更改写入数据库。

DOH!