我在这种情况下,要检查数据库中的行中是否存在帐号。该列可以包含多个帐号,每个帐号之间用逗号隔开,例如。 00001,00002,00003。
例如案例:SELECT * FROM finance_collection.member WHERE account_ids LIKE 00001,% OR %,00001 OR %,00001,% OR 00001
为此,我编写了一条SQL语句为:
account_exists = " SELECT * FROM finance_collection.member WHERE account_ids LIKE %s,% OR %,%s OR %,%s,% OR %s "
%s是传入的帐号,是逗号,%是多字符通配符。
try:
with connection.cursor() as cursor:
sql = sqls.account_exists
cursor.execute(sql, (account, account, account, account))
return True
except pymysql.Error as error:
print(error)
return False
我正在使用pymysql进行连接,但查询似乎无法正常工作。我尝试了各种组合,例如将
%s,%
与' '
以及其他组合在一起,但没有一个起作用。你能给我看看灯吗? 最佳答案
用另一个%转义%(是的,这没有多大意义,但这是事实):
x = "a=%sx%%2C" % ('text')
x
>>> 'a=textx%2C'