繁体   English   中英

postgresql sql 查询语法错误在 python 中的“convert_from”处或附近

[英]postgresql sql query syntax error at or near “convert_from” in python

我认为这是一个简单的问题,如何在 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”或附近的语法错误

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

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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM