首页 > 解决方案 > 我使用 Python 进行的 SQL 查询中的错误是什么?

问题描述

我正在尝试使用 python 从 SQL Server 数据库中检索数据,但系统崩溃并显示以下错误:

ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]关键字'where'附近的语法不正确。(156) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server驱动程序][SQL Server]无法准备语句。(8180)")

代码:

import pandas as pd
import streamlit as st 

search_term=st.text_input("Enter Search Term")
cursor.execute("select * from testDB.dbo.t1 where ID = ? OR where  first =?",search_term,search_term) 
                                
dd = cursor.fetchall()
print(dd)

标签: pythonsql-serverpyodbc

解决方案


你有两个where子句。应该只有一个where子句,它可以有任意多个由逻辑运算符连接的条件:

cursor.execute("select * from testDB.dbo.t1 where ID = ? OR first =?", search_term, search_term) 

推荐阅读