我想从基于随机变量的行中获取一个特定的值。下面是一个示例表,PID列是一个“自动递增主键整数”,其他两列是文本
示例表PID NAME PHONE
--- ---- -----
1 bill 999-9999
2 joe 888-8888
我想把一个随机变量扔到桌子上
randomVariable = raw_input('Enter something: ')
>;1个
并让代码返回名称
>;帐单
我知道我可以用。。。randomVariable = raw_input('Enter something: ')
sql = ("SELECT name FROM example_table WHERE pid='%s'" % randomVariable)
result = cursor.execute(sql)
print result
>;帐单
显然使用'%s'不安全,建议使用'?'在它的位置。randomVariable = raw_input('Enter something: ')
sql = ("SELECT name FROM example_table WHERE pid=?", randomVariable)
result = cursor.execute(sql)
print result
但这似乎对我不起作用。我最后。。。"ValueError: operation parameter must be str or unicode"
我意识到我可以抓取所有的行并将它们放入一个变量中,然后我可以反复搜索,直到找到我要查找的内容,但我认为对于一个大型数据库来说,这样做不是很有效。有人能帮我指出正确的方向吗?