删除没有发生在英特尔爱迪生的postgres上

时间:2016-02-04 07:12:58

标签: postgresql intel-edison

我是PostgreSQL DB的新手,我尝试在具有ubilinux(Debian)OS的英特尔Edison平台上安装它。我成功安装了它。我可以使用python模块psycopg2成功创建表,插入行等。 但是当我尝试使用psycopg2删除行时,删除不会发生。

在删除之前,db的内容如下:

(1,1,1,1,1,1,1,1)

(2,1,1,1,1,1,1,1)

(3,1,1,1,1,1,1,1)

(4,1,1,1,1,1,1,1)

(5,1,1,1,1,1,1,1)

(6,1,1,1,1,1,1,1)

(7,1,1,1,1,1,1,1)

(8,1,1,1,1,1,1,1)

这是我用来删除第4行的代码。

#!/usr/bin/python

import psycopg2
import sys

conn = psycopg2.connect(database="mydb", user="root", password="edison")
print "Opened database successfully"

cur = conn.cursor()

cur.execute("DELETE FROM data WHERE S=4;")
conn.commit
print "Total number of rows deleted :", cur.rowcount

cur.execute("SELECT * from Data")
rows = cur.fetchall()
for row in rows:
   print row

print "Operation done successfully";
conn.close()

此代码的输出为:

成功打开数据库

删除的总行数:1

(1,1,1,1,1,1,1,1)

(2,1,1,1,1,1,1,1)

(3,1,1,1,1,1,1,1)

(5,1,1,1,1,1,1,1)

(6,1,1,1,1,1,1,1)

(7,1,1,1,1,1,1,1)

(8,1,1,1,1,1,1,1)

操作成功完成

但是当我现在使用" SELECT * FROM data;"分别读取数据库中的数据时,数据库中的内容是:

(1,1,1,1,1,1,1,1)

(2,1,1,1,1,1,1,1)

(3,1,1,1,1,1,1,1)

(4,1,1,1,1,1,1,1)

(5,1,1,1,1,1,1,1)

(6,1,1,1,1,1,1,1)

(7,1,1,1,1,1,1,1)

(8,1,1,1,1,1,1,1)

第4行仍然存在于DB中。这意味着删除根本没有发生。但是当我现在分别删除数据库中的第4行时,即不使用python,使用" DELETE FROM data WHERE S = 4;",它的工作原理。但我的要求是使用python删除。

有人可以帮助我吗?先谢谢。:)

此致 阿伦

0 个答案:

没有答案