使用Python向PostgreSQL数据库插入数据的方法:INSERT

48

我正在尝试使用Python向PostgreSQL数据库表中插入数据。我没有看到任何语法错误,但是由于某种原因,我的数据没有被插入到数据库中。

conn = psycopg2.connect(connection)
cursor = conn.cursor()
items = pickle.load(open(pickle_file,"rb"))

for item in items:
    city = item[0]
    price = item[1]
    info = item[2]

    query =  "INSERT INTO items (info, city, price) VALUES (%s, %s, %s);"
    data = (info, city, price)

    cursor.execute(query, data)

5
你需要提交数据,例如使用conn.commit()。 - Denis
现在,您可以使用 ('{0}', '{1}', '{2}') 来代替上面的 (%s, %s, %s) 进行字符串插值。 - zero_cool
1个回答

56

你需要提交事务。

conn.commit()

如果没有理由认为事务会失败,那么在for循环完成后提交将更快。


1
没问题,我也经常犯同样的错误 ;) - GuillaumeDufay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接