用python在mssql中插入带引号的字符串

2024-05-06 11:29:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从googleanalytics api在mssql服务器上填充一个表。我尝试使用字符串替换的方法:

INSERT INTO Reporting.analytics_temp (var1,var2,var3) VALUES ('%s','%s','%s')" %(var1,var2,var3))

只要变量中没有特殊字符或引号,这种方法就可以正常工作,但是当有特殊字符或引号时,代码就会中断(错误消息:“字符串后面的引号未闭合”)。在

在做了一些研究后,我意识到我使用的方法不是很好,实际上由于sql注入的风险而很危险,所以我非常渴望得到一个更好的方法。在

我找到了各种方法,但似乎没有一个在MSSQL中有效 例如,this one看起来像:

cursor.execute("INSERT INTO table VALUES (%s, %s, %s)", (var1, var2, var3))

但这会显示错误消息“SQL包含0个参数标记,但提供了3个参数”

这里的问题是我对字符串替换理解不够好,还是mssql的代码稍有不同?在


Tags: 方法字符串代码消息参数错误引号insert