我已經嘗試了幾個驅動程序:pymsql,pyobdc,並且在SQL中仍然有格式單引號的問題。下面的代碼實例:Python - SQL語句中的單引號PyODBC
CASE 1
import pyodbc
UPDATE_SQL3 = """
UPDATE STATION
SET
STATION_NAME = ?,
STATION_TITLE = ?,
ACTIVE = ?
WHERE
STATION_ID = ?
"""
conn = pyodbc.connect('DRIVER={SQL Server};SERVER=local;DATABASE=DB;UID=me;PWD=pass')
cursor = conn.cursor()
cursor.execute(UPDATE_SQL3 %
(name,
title,
active,
id
))
此代碼不編譯:
"not all arguments converted during string formatting"
CASE 2.
UPDATE_SQL3 = """
UPDATE STATION
SET
STATION_NAME = %s,
STATION_TITLE = %s,
ACTIVE = %s
WHERE
STATION_ID = %s
"""
我趕錯誤:
('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 'The'. (102) (SQLExecDirectW)")
一次title = u'102.7 The Fan'
CASE 3.
UPDATE_SQL3 = """
UPDATE STATION
SET
STATION_NAME = '%s',
STATION_TITLE = '%s',
ACTIVE = %s
WHERE
STATION_ID = %s
"""
錯誤:
('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 's'. (102) (SQLExecDirectW)")
其中name = u'Power Michiana\\'s Hits and Hip Hop'
什麼是處理它的正確方法?
的情況下,3名做= u'Power Michiana \的點擊和嘻哈' – akalikin
我如何正確地做到這一點?我試圖替換字符--' title = title.replace(「\\」,「」)',但我仍然看到 - 'title = u'Power Michiana \''Hits and Hip Hop'' – SpanishBoy