【问题标题】:postgresql sql query syntax error at or near "convert_from" in pythonpython中的“convert_from”或附近的postgresql sql查询语法错误
【发布时间】:2020-08-22 15:00:01
【问题描述】:

我认为这是一个简单的问题,如何在 python 中编写 sql 查询?

### python3 code
# ok 
row = await conn.fetchrow(
    'SELECT * FROM users WHERE email = $1', user_email)

# NOT ok
user_pw = await conn.fetch(                                                          
    'convert_from($1, $2)', row[2], 'UTF8') 

asyncpg.exceptions.PostgresSyntaxError:在或附近出现语法错误 “convert_from”

【问题讨论】:

  • 好吧convert_from()是一个需要SELECT的函数
  • @a_horse_with_no_name 好的,我明天会检查并测试并报告结果。

标签: python-3.x postgresql hash bytea


【解决方案1】:

我用以下代码修复了我的错误:

tmp_pw = await conn.fetch(
    'SELECT * FROM convert_from($1, $2)', row[2], 'UTF8')

# because, tmp_pw is  
#[<Record convert_from='$2a$12$PsXD/oaDXwC1Ffup842I/emQ3Bz26AWjQNsLBQipQ4gvRIFhUQAXb2'>]
# any suggestion is welcome.
user_pw = str(tmp_pw).strip('[]').strip('<>').split('=')[1].strip('\'')

# another method to get pw from Record (not tested):
# tmp_iter = iter(tmp_pw)
# user_pw = next(tmp_iter)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    • 2016-11-22
    • 2016-10-30
    • 1970-01-01
    相关资源
    最近更新 更多