我尝试用Like命令编写一个查询来搜索特殊的名称,但我需要从用户那里获取值,我需要读取值,但我的SQL代码在“Like”部分有问题,我该如何修复它?
sql = '''SELECT Name FROM newtest WHERE Name LIKE = %s''' val = (n) myobj = mycurs.execute(sql , val)
有什么问题吗?您的SQL语法中有错误;请查看与您的MariaDB服务器版本对应的手册,以了解在第1行“= %s”附近使用的正确语法这是错误
vfwfrxfs1#
删除“=”符号。LIKE命令不使用该符号-有关示例,请参阅https://www.w3schools.com/sql/sql_ref_like.asp。
webghufk2#
如果您需要搜索非精确匹配项(即名称位于列中的任何位置),可以将查询更改为:
SELECT Name FROM newtest WHERE Name LIKE concat('%', %s, '%')
2条答案
按热度按时间vfwfrxfs1#
删除“=”符号。LIKE命令不使用该符号-有关示例,请参阅https://www.w3schools.com/sql/sql_ref_like.asp。
webghufk2#
如果您需要搜索非精确匹配项(即名称位于列中的任何位置),可以将查询更改为: