首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在where子句中使用字符串比较的Python MySQL查询

问在where子句中使用字符串比较的Python MySQL查询
EN

Stack Overflow用户
提问于 2019-07-16 08:43:38
回答 2查看 886关注 0票数 1

我有一个奇怪的问题,在where子句中,我无法获得一个带有参数的SQL查询来处理字符串比较--我没有返回一行。当我通过bash连接到MySQL db时,查询可以工作。

  • python 3.7.3
  • mysql-连接器-python==8.0.11
  • mysql 5.7

工作(得到我的行):

代码语言:javascript
复制
select * from my_table where my_column = 'my_string';

同样有效(得到我的行):

代码语言:javascript
复制
cursor.execute(
    """
        select *
        from my_table
        where my_column = 'my_string'
    """
)

不工作(cursor.fetchall()是[]):

代码语言:javascript
复制
cursor.execute(
    """
        select *
        from my_table
        where my_column = '%s'
    """,
    ('my_string')
)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-16 09:00:27

要小心元组。我想你需要('my_string',)。

FYI我写了@tscherg在问题下面的评论中提到的原始评论。

票数 1
EN

Stack Overflow用户

发布于 2019-07-16 08:50:44

删除引号:

代码语言:javascript
复制
cursor.execute(
    """
        select *
        from my_table
        where my_column = %s
    """,
    ('my_string')
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57053384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档