%d格式:需要一个数字而不是列表

时间:2017-06-14 18:58:37

标签: python-2.7 sqlite

我想使用此查询从表中打印列值 -

cursor = self.conn.execute ("select column1 from table_name where column2 =='%d'"%(number))

Value = cursor.fetchall()   

Print value 

2 个答案:

答案 0 :(得分:0)

上述查询格式不安全,您可以尝试以这种方式绑定:

self.conn.execute('SELECT column1 FROM table_name WHERE column2 = ?', (number,))

根据文档(Sqlite3 Docs):

# Never do this -- insecure!
symbol = 'RHAT'
c.execute("SELECT * FROM stocks WHERE symbol = '%s'" % symbol)

# Do this instead
t = ('RHAT',)
c.execute('SELECT * FROM stocks WHERE symbol=?', t)

答案 1 :(得分:0)

您已将数据库项目声明为ATOMIC NUMBER,因此要么将其更改为ATOMIC_NUMBER,要么更改代码以在两个单词“ATOMIC NUMBER”周围添加引号。 AND 第五时间现在阅读StackOverflow导游,这样您就可以采取不会让尝试回答问题的人烦恼的方式行事。 https://stackoverflow.com/tour