我想插入 N "Pepito Malasanya O'Dhogerty" 在Python 3上,但不能转义单引号,PYODBC上的错误是。
"Incorrect syntaxis".
我知道我必须再加一个(O''Dhogerty),但我尽了最大努力,尝试了所有我看到的东西,但没有解决它。
这就是我到目前为止所做的。
string = string.replace("'", "\\'\\'")
更新了。
因为我在字符串前面用了 "N"(因为我有 "a "这样的字符)
现在我有了。
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)")
我到底做错了什么?我打算按照你说的检查参数化查询。
解決方法:我在做execute方法的时候,用了 "O''Dhogerty"。
我在做执行方法的时候 '{}'.format
... 但它不工作与插入这样的特殊字符,我改成了 cursor.execute("INSERT INTO table VALUES (?,?,?,?,?,?,?,?,?,?)",value1, value2....)
和任何问题
谢谢你的帮助