試圖組建跨多行更長的SQL字符串在Python 2.7使用參數,類似於:裝配長字符串參數蟒蛇
duration_sql = "select MessageTime, " + \
"Value from [%s] " + \
"where Subsystem=%s and " + \
"Field=%s " + \
"and MessageTime > %s and " + \
"MessageTime < %s" % (i, j, k, l, m)
但我得到一個運行時錯誤:
TypeError: not all arguments converted during string formatting
如果我允許它是一個沒有換行符的長字符串,它可以正常工作。任何方式我可以打破一個長字符串與參數?想不通的祕密武器......
注意,它通常是一個壞主意,使用Python的原生字符串格式化,以便插入參數到您的SQL查詢。這可能會讓你容易受到SQL注入攻擊。只要有可能,請使用您正在使用的任何庫提供的參數化工具來與數據庫交談。 – Kevin
非常好的主意,凱文。我有它在我的意見,注意這一點,我認爲我應該按照我自己的建議...我很希望創建的字符串,然後進入了pymssql的execute()函數並添加參數存在。 – Omortis