0
已經存在,我知道看看這兩個值在SQLite表
cursor.execute("select * from table where value = ?",(user,))
檢查,看看是否有一個名字,但是,有沒有辦法來檢查,如果這兩個值1和值2的表存在了嗎?
已經存在,我知道看看這兩個值在SQLite表
cursor.execute("select * from table where value = ?",(user,))
檢查,看看是否有一個名字,但是,有沒有辦法來檢查,如果這兩個值1和值2的表存在了嗎?
當然,您可以使用IN
運算符或OR
運算符。例如:
cursor.execute("select * from table where value in (?, ?)",(user, otheruser))
cursor.execute("select * from table where value = ? or value = ?",(user, otheruser))
如果返回兩行,則兩者都存在。
如果值不是唯一的(也就是說,可能有20行的用戶,並沒有對otheruser),這一招也並非完全奏效,但你可以解決這個問題很容易用DISTINCT
子句或GROUP BY
。您也可以使用COUNT(*)
而不是返回多行。
所以:
def both_exist(user, otheruser):
cursor.execute("SELECT COUNT(*) FROM table WHERE value IN (?, ?) GROUP BY value",
(user, otheruser))
count, = cursor.fetchone()
return count == 2
您可以使用AND運算
cursor.execute("SELECT * FROM table WHERE table_field1 = ? AND table_field2 = ?", (value1,value2))
result=cursor.fetchall()
if len(result)==0:
print('Not found')
else:
print('Found')