我想編寫一個函數來檢查表X在列Z中是否有一個Y值爲Y的行。如果滿足此條件,則返回True,否則返回False。檢查表X中列Z的值Y
我寫了以下功能:
def valueInDatabase(cursor,value,table, col):
check = cursor.execute("""SELECT %s from %s"""%(col,table))
result = cursor.fetchall()
if value in result:
return True
else:
return False
和測試我的功能用下面的代碼:
conn = sqlite.connect(":memory:")
cursor = conn.cursor()
cursor.execute("CREATE TABLE problem1 (x int unique)""")
cursor.executemany("INSERT INTO problem1(x) VALUES (?)",[(1,),(2,),(3,),(4,)])
print valueInDatabase(cursor,5,'problem1','x')
print valueInDatabase(cursor,2,'problem1','x')
它打印「假」和「假」,但它應打印「真「和」假「。任何人都可以幫助我解決我的代碼?
非常感謝 – neymar