我正在尝试使用WHERE子句中的TabPages
变量来搜索posgresql数据库,但出现错误“ coloumn不存在”。
这是我的查询:
Controls
nameFilter是用户表单中的变量。
因此,如果用户要在搜索中输入AKT1,我得到的错误是:
programmingError:列“ akt1”不存在
第1行:...公开*来自公众。python
在query = 'SELECT * FROM public."Kinase_table" WHERE "KINASE_NAME" = ' + nameFilter + ' '
任何人都可以帮助并告诉为什么会这样吗?
谢谢。
答案 0 :(得分:0)
您正在做的是字符串串联。所以最后到达数据库的字符串看起来像
SELECT * FROM public."Kinase_table" WHERE "KINASE_NAME" = AKT1
当您真正希望成为
SELECT * FROM public."Kinase_table" WHERE "KINASE_NAME" = 'AKT1'
注意AKT1周围的'。因此,您的python需要看起来像
query = 'SELECT * FROM public."Kinase_table" WHERE "KINASE_NAME" = \'' + nameFilter + '\''
请注意,'\'字符会在字符串结尾处转义'字符。