我想從基于隨機變量的行中獲取一個特定的值。下面是一個示例表,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"
我意識到我可以抓取所有的行并將它們放入一個變量中,然后我可以反復搜索,直到找到我要查找的內容,但我認為對于一個大型數據庫來說,這樣做不是很有效。有人能幫我指出正確的方向嗎?