SQL 使用变量值

SQL Using Variable Value

我在 python;

中有一个如下所示的变量
run_id=5654

当我执行下面的代码时;

df=curs.execute("select* from [DATABASE] where RunId=run_id")

我收到一个错误:

DataError: ('22018', "[22018] [Microsoft][ODBC SQL Server Driver][SQL Server]Conversion failed when converting the varchar value 'run_id' to data type smallint. (245) (SQLExecDirectW)")

你能帮我解决这个问题吗?我该如何继续?

假设您使用 pyodbc 连接到您的 SQL 服务器实例,您应该使用准备好的语句,其中 ? 作为占位符:

run_id = '5654'
df = curs.execute("SELECT * FROM [DATABASE] WHERE RunId = ?", (run_id,))