【发布时间】:2015-05-15 13:43:34
【问题描述】:
如何过滤掉从数据库返回的结果,以便只存储实际返回的数据。
我得到以下代码:
mergedlist_uniques = [id1,id2,id3,id4,..] #list containing data
for i in range(0, 5):
cur = db.cursor()
cur.execute("SELECT id FROM `id_activities` WHERE `id_activities`.`id` = '" + mergedlist_uniques[i] + "' LIMIT 1")
results = cur.fetchall()
if results != "":
print("empty, result is: ", results)
#data.append(results)
在我的 if 语句中,我检查结果是否不包含任何内容,但这不起作用。
我仍然得到以下结果:
>>> ('empty, result is: ', ())
我应该期望的是,只要结果是: () 它不应该打印任何东西,但如果它包含:
>>> ('empty, result is: ', (idx))
然后它应该打印出结果。
我做错了什么?
【问题讨论】:
-
使用查询时要小心使用结果一词,查询总是会返回结果,有些结果什么都没有
-
啊,谢谢你的提示!我会修改它! @JeremyC。
-
我不是 100% 了解您的查询在做什么,但我似乎得到的是您正在查询 id = id1 到 id5?并且您想打印诸如“空结果=(id5)”之类的内容,以防您的查询对id5没有返回任何内容,对吗? nvm 你已经得到了答案:p