sql表的哪一列等于变量

时间:2017-03-13 13:18:51

标签: python sql-server sqlite

我想找到' vazn'的价值。 (sql table的一列)其中' id'列等于f1。 表名是" billse" " vazn" &安培; " ID1"是这张表的专栏...... " F1"是一个变量

f1是一个变量如下:

f1=int(enter3.get())

enter3是一个条目。

我在enter3中输入的变量等于sql表中现有的一个id(' bill') 这是我的代码:

self.cur.execute("SELECT vazn FROM billse WHERE id1='f1'")
            vaznp = self.cur.fetchall()
            print(vaznp)

我得到了' null'当它打印vaznp 为什么呢?

1 个答案:

答案 0 :(得分:1)

使用预先准备好的声明:

self.cur.execute("SELECT vazn FROM billse WHERE id1=?", f1)
vaznp = self.cur.fetchall()
print(vaznp)

您当前的查询实际上被解释为:

SELECT vazn FROM billse WHERE id1='f1'

换句话说,您将id1列与字符串'f1'进行比较,而不是与该变量中包含的值进行比较。准备好的语句还可以让您免于在查询中处理正确转义的字符串。