2011-01-28 11 views
5

this SO question के बाद, मैं अजगर में निम्नलिखित कच्चे एसक्यूएल कमांड का प्रयोग "काटना" के लिए एक निश्चित Django आवेदन से संबंधित सभी तालिकाओं कोशिश कर रहा हूँ confuses :% अजगर कच्चे एसक्यूएल क्वेरी

C:\dev\my_project>my_script.py 
Traceback (most recent call last): 
    File "C:\dev\my_project\my_script.py", line 295, in <module> 
    cursor.execute(r"select concat('truncate table ',table_schema,'.',table_name,';') as sql_stmt from information_schema.tables where table_schema = 'my_db' and table_type = 'base table' AND table_name LIKE 'some_prefix%'") 
    File "C:\Python26\lib\site-packages\django\db\backends\util.py", line 18, in execute 
    sql = self.db.ops.last_executed_query(self.cursor, sql, params) 
    File "C:\Python26\lib\site-packages\django\db\backends\__init__.py", line 216, in last_executed_query 
    return smart_unicode(sql) % u_params 
TypeError: not enough arguments for format string 

LIKE करने में कठिनाई में % है? मैं इसे कैसे काम कर सकता हूं?

उत्तर

8

क्या आपने %% की कोशिश की है? वह पायथन स्ट्रिंग-स्वरूपण में% का उद्धरण देता है।

+2

अतिरिक्त उदाहरण/मनोरंजन के लिए, अनुमान लगाएं कि यह क्या करता है: '%%%% s %% s% s'% 'तीन'% 'दो'% 'एक' –

+0

इतना आसान ... :) – Jonathan