【问题标题】:Pyodbc - Running SQL Query with WHERE clause (syntax errors)Pyodbc - 使用 WHERE 子句运行 SQL 查询(语法错误)
【发布时间】:2017-06-20 07:19:01
【问题描述】:

我正在使用 Pyodbc,并已连接到数据库。我可以轻松地在我只使用 SELECT 和 FROM 语句的地方提取数据。

但是,当我尝试使用 WHERE 语句时,它会抛出语法错误:

这是代码:

import pyodbc

conn = pyodbc.connect('DSN=QueryBuilder')
cursor = conn.cursor()
cursor.execute('SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'')

我收到此错误:

SyntaxError: 无效语法

如果我跑:

SELECT * 
FROM dbo.Grantinformation
WHERE HoldingOrganisationName = 'university of edinburgh'

在 SQL Server Management Studio 中,SQL 运行良好,所以很明显我在使用 pyodbc 时做错了什么?

非常感谢

【问题讨论】:

    标签: python sql pyodbc


    【解决方案1】:

    不,这是一个简单的 Python 语法错误。您的 sql 字符串中有单引号,因此您需要在字符串本身周围使用双引号:

    cursor.execute("SELECT * FROM dbo.Grantinformation WHERE HoldingOrganisationName = 'university of edinburgh'")
    

    【讨论】:

    • 哎呀!谢谢丹尼尔!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-19
    • 2017-12-22
    • 1970-01-01
    • 2014-10-13
    • 2011-12-03
    • 1970-01-01
    相关资源
    最近更新 更多