gpt4 book ai didi

Python psycopg2 检查行是否存在

转载 作者:太空狗 更新时间:2023-10-29 18:14:19 25 4
gpt4 key购买 nike

在 Python psycopg2 中,我如何检查一行是否存在?

def track_exists(self, track_id):
cur = self.conn.cursor()
cur.execute("SELECT fma_track_id FROM tracks WHERE fma_track_id = %s", (track_id,))
if cur.fetchall() > 0:
return true
else:
return false

目前我得到

Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "mumu.py", line 38, in track_exists
if cur.fetchall() > 0:
TypeError: 'NoneType' object has no attribute '__getitem__'

最佳答案

不要使用 fetchall()(它返回一个列表,它永远不会“大于 0”),使用 fetchone():

def track_exists(self, track_id):
cur = self.conn.cursor()
cur.execute("SELECT fma_track_id FROM tracks WHERE fma_track_id = %s", (track_id,))
return cur.fetchone() is not None

fetchone() 如果没有要获取的内容,则返回 None,并且针对 is not None 进行测试会为您提供方便的 bool 值以返回直接地。

关于Python psycopg2 检查行是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20449048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com