query=SQL(
"CREATE USER {id} WITH PASSWORD %s".format(
id=Identifier(id)
)
)
try:
self.cur.execute(
query=query,
vars=[password]
)
except DuplicateObject:
print("{id} User already created.".format(id=id))
else:
print("{id} User create.".format(id=id))
這是在 postgresql 中創建用戶的代碼。
query=SQL(
"CREATE USER {id} WITH PASSWORD %s".format(
id=Identifier(id)
)
)
ID 引數被定義為識別符號類。
self.cur.execute(
query=query,
vars=[password]
)
密碼引數被定義為執行函式的變數。
psycopg2.errors.SyntaxError: ??: ?? ??, "(" ??
LINE 1: CREATE USER Identifier('administrator') WITH PASSWORD 'Y2zfW...
運行代碼時,出現語法錯誤。
為什么我會收到語法錯誤?
uj5u.com熱心網友回復:
你叫錯了.format。這對我有用:
query = sql.SQL("CREATE USER {} WITH PASSWORD %s").format(sql.Identifier('falken'));
c.execute(query, ['pencils'])
請注意,我呼叫.format的是 SQL 物件,而不是字串!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/410442.html
標籤:
上一篇:使用節點postgres在psql上同時執行兩個查詢
下一篇:添加連接以根據鍵顯示專案
