使用python

时间:2015-07-30 01:35:29

标签: python mysql insert

我试图执行以下代码

for counter in range(0, len(weatherData) - 1):
    string = 'INSERT INTO weather VALUES(' + str((weatherData[counter])[0:]) +');'
    print(string)
    cur.execute(string)

所有值和数据都正确打印,一切似乎都没有错误,但是当我检查数据库是空的时。

2 个答案:

答案 0 :(得分:1)

插入完成后commit

for counter in range(0, len(weatherData) - 1):
    ....
connection_object.commit()

顺便说一句,您最好自己使用参数传递样式而不是构建查询字符串:

for data in weatherData:
    sql = 'INSERT INTO weather VALUES(%s)'
    cur.execute(sql, [data])

答案 1 :(得分:0)

循环可以简化如下

for counter, row in weatherData:
    string = 'INSERT INTO weather VALUES(' + str(row) + ');'

然后你需要提交

编辑 - 添加了计数器,这是for循环的计数 EDIT2 - 使用行 EDIT3 - 从没有做任何事情的字符串末尾删除[0:]