如何从内部带有单引号的字符串中转义以进行插入?

How to escape from a string with single quote inside to do an insert?

我试图在 Python 3 上插入 N"Pepito Malasanya O'Dhogerty" 但无法转义单引号,PYODBC 上的错误是:

"Incorrect syntaxis".

我知道我必须再添加一个 (O''Dhogerty),但我已尽力尝试我所看到的一切,但没有修复它。

这就是我到目前为止所做的:

string = string.replace("'", "\'\'")

更新:

它没有用,因为我在字符串前面使用 'N'(因为我有像“ª”这样的字符)

现在我有:

row[0] = row[0].replace("'","\'\'")

pyodbc.ProgrammingError: ('42S22', "[42S22] [Microsoft][ODBC SQL Server Driver][SQL Server]El nombre de columna 'Pepito Malasanya O''Dhogerty' no es válido. (207) (SQ LExecDirectW)")

我做错了什么?我要按照你说的检查参数化查询。

解决方案:

我正在使用 '{}'.format 执行执行方法...但它不适用于具有此类特殊字符的插入,我更改为 cursor.execute("INSERT INTO table VALUES (?,?,?,?,?,?,?,?,?,?)",value1, value2....) 和任何问题

谢谢你的帮助