how 1 check entire column in sqlite database given value , if found set variable true
something like
hasvalue = 'false' cur = con.cursor() cur.execute("select id column hasvalue = '1' limit 1;") ***if execute returned rows set hasvalue = true here*** if hasvalue == 'true': else: dosomethingelse
how make hasvalue turn true if sql query returned , if returned 0 rows stay false?
basically want execute if in column equals 1
i'm little confused question. sql query suggests using table named column
? if can ignore , assume have table named test
has columns id
(an int) , name
(a string). query:
select id test name = 'something'
would select rows have name
set string 'something'
.
in python be:
cur = con.cursor() cur.execute("select id test name = 'something' limit 1") if cur.fetchone(): do_something() else: do_something_else()
the key here use cursor.fetchone()
try , retrieve row cursor. if there no rows fetchone()
return none
, , none
evaluates false
when used condition in if
statement.
you create function generalise:
def has_value(cursor, table, column, value): query = 'select 1 {} {} = ? limit 1'.format(table, column) return cursor.execute(query, (value,)).fetchone() not none if has_value(cur, 'test', 'name', 'ranga'): do_something() else: do_something_else()
this code constructs query given table, column, , value , returns true
if there @ least 1 row required value, otherwise returns false
.
Comments
Post a Comment