Python:如何检查一个条目是否已存在于 sql 数据库中?

Log*_*gan 2 python sql sqlite

我是 python 的新手,甚至是 sql 的新手,但我整个上午都在努力完成这项工作,但我似乎无法弄清楚。我有一个名为 POSTS(id) 的表设置。我试图检查一个数字是否已经在 id 列中,但 postid 是什么数字并不重要,因为即使 postid 设置为不在数据库中的数字,数据也永远不会返回 none。

import sqlite3 as lite
import sys

con = lite.connect('post.db')
postid = '52642'

cur = con.cursor()
cur.execute("select id from POSTS where id=?", (postid,))
data = cur.fetchall()
if data is None:
        print ('not found')
else:
        print ('found')
Run Code Online (Sandbox Code Playgroud)

Ale*_*lli 7

该声明

data = cur.fetchall()
Run Code Online (Sandbox Code Playgroud)

当没有找到任何东西时data,将分配给一个空列表,而不是 None

所以只需将您的支票更改为:

if not data:
Run Code Online (Sandbox Code Playgroud)

代替:

if data is None:
Run Code Online (Sandbox Code Playgroud)