全局名称'unhex'未定义

时间:2013-07-08 05:41:44

标签: python mysql sqlalchemy flask-sqlalchemy

我正在研究烧瓶并执行此声明

salt=os.urandom(32)

db_session.execute('insert into posUsers values (?, ?, ?, ?)',[usern,unhex("sjg"),salt,row.clientId])

它给出了这个错误,unhex没有定义!

更新 - 现在我改为

db_session.execute('insert into posUsers (username,passwd,salt,clientId    ) values (?,UNHEX("6568"),UNHEX("haf"), ?)',[usern,row.clientId])

它给出一个新的错误'list'对象没有属性'keys' 任何解决方案?

1 个答案:

答案 0 :(得分:1)

这是因为当你将它传递给python列表时,它被视为一个不存在的python函数。

您需要将其包含在sql查询字符串中。

salt=os.urandom(32)

db_session.execute('insert into posUsers values (?,unhex("sjg"),?, ?)',[usern,salt,row.clientId])

unhex是一个mysql函数,它被视为python函数导致错误