我寫了下面的SQL查詢:有效的方式來格式化字符串
"select someTableName.somefield, count(*) from someTableName WHERE someTableName.TimeStamp > %s and someTableName.EndTimeStamp < %s group by someTableName.ProviderUsername;", [from_date, to_data]
這種查詢可以在三個表中使用,所以我不希望修正的表的名稱,以便我在做什麼是這個樣子。
"select %s.somefield, count(*) from %s WHERE %s.TimeStamp > %s and %s.EndTimeStamp < %s group by %s.ProviderUsername;", [tableName, tableName, tableName, from_date, tableName, to_data, tableName]
,你可以看到在上面的查詢我有,所以我需要爲每次出現提供tableName
使用tableName
多次,有沒有達到這個任何最好的方法?
編輯
我沒有python 2.6
使用str.format
由於某種原因不能移動到最新的versionof蟒蛇,我使用python version 2.5.2
,那麼什麼是在這種環境下最好的解決辦法?
要非常小心,要在該字符串變量AREN沒有對用戶提交的內容進行unsanitized;這有SQL注入寫在它。 – geoffspear