這看起來很平凡,但我無法在任何地方找到正確的答案。我需要使用psycopg在字段中插入兩個單引號。含義是,要存儲在列內的值爲:''
使用psycopg插入兩個連續的單引號
無論我嘗試什麼,它都會以\'\'
(根據Postgres文檔嘗試''''
作爲輸入時)或錯誤結束。
有什麼建議,該如何解決?
這看起來很平凡,但我無法在任何地方找到正確的答案。我需要使用psycopg在字段中插入兩個單引號。含義是,要存儲在列內的值爲:''
使用psycopg插入兩個連續的單引號
無論我嘗試什麼,它都會以\'\'
(根據Postgres文檔嘗試''''
作爲輸入時)或錯誤結束。
有什麼建議,該如何解決?
如果你確定要插入文字「‘’」你甚至不需要綁定變量,只寫正確的SQL(記住,一個單引號被引用爲其中兩個,即「''」)。一個例子是更容易理解:
curs.execute("INSERT INTO foo VALUES ('''''')")
否則,你可以在兩個引號分配給一個變量,讓psycopg做報價:
curs.execute("INSERT INTO foo VALUES (%s)", ("''",))
注意額外的括號和逗號來彌補元組,按照cursor.execute的要求。
參考文獻the psycopg2 doc
cursor.execute("INSERT INTO foo VALUES (%s)", ("''",))
不,不這樣做,我曾嘗試過。 – 2012-04-25 15:53:55
它應該,我確認。您可能會顯示錯誤 – okm 2012-04-25 15:59:31
使用元組而不是列表。列表可能有效,但他們從未得到官方的支持,並可能在未來消失。 – fog 2012-04-25 18:57:22