【发布时间】:2017-05-24 04:24:45
【问题描述】:
我正在将 postgreSQL 与 python 一起使用,并且 SQL 数据库可以定期添加行。目前,python程序不知道是否添加了新数据(我使用psycopg2读取行。但它读取到行结束并停止)。如果添加了新数据,如何让我的 python 程序不断搜索?或者我可以让postgreSQL在添加新行时触发python?
这是我目前拥有的:
def get_data():
try:
connect = psycopg2.connect(database="yardqueue", user="postgres", password="abcd", host="localhost", port="5432")
except:
print "Could not open database"
cur = connect.cursor()
cur.execute("SELECT id,position FROM container")
rows = cur.fetchall()
for row in rows:
print "ID = ", row[0]
print "Position = ", row[1]
如您所见,当我运行它时,一旦变量“行”到达最后一行,它就会停止。
编辑:有没有办法让我的 python 代码运行一段指定的时间?如果是这样,我可以让它通过数据库,直到我杀死它。
【问题讨论】:
-
为什么需要查明是否添加了新数据?
-
试试 cursor.rowcount
-
@AzatIbrakov 因为,这是一个关于在院子里设置集装箱位置的项目。容器数据不断添加,我希望python为每个数据分配特定位置
-
@HaifengZhang 行数对于脚本的特定运行来说是恒定的,对吗?
-
您可以使用time.sleep 进行无限循环并检查之前的行数是否发生了变化
标签: python database postgresql