我有一個數據庫名字的字典。我取了個名字從字典如何從Python的SQL查詢字符串中刪除引號?
database_name = database_dict[i]
可以說對數據庫名稱的值是「富」
使用Psycopg2我執行語句:
cur.execute("INSERT INTO %s VALUES(...);", database_name)
我會在foo的語法錯誤,因爲它應該是「INSERT INTO foo VALUES」而不是「INSERT INTO'foo'VALUES」
任何建議如何傳遞一個字符串值的名稱的表和刪除單引號?我應該在數據庫字典值中放置一個轉義字符嗎?
編輯:更接近於是在這裏:How do I remove single quotes from a table in postgresql?
,但我無法得到它使用拆卸工作。它在remove語句中的單引號中給出了語法錯誤。
標識符(如表和列名稱)在標準SQL(和PostgreSQL)中使用雙引號,因此您需要使用特定於標識符的引用方法。 AFAIK這意味着['quote_ident'](http://initd.org/psycopg/docs/extensions.html#psycopg2.extensions.quote_ident)和字符串連接,但我不知道足夠的Python或Psycopg2以確保最好/正確的方法。 –
是'database_dict [i]'''foo''或'foo'的值嗎?報價來自哪裏? – Schwern