我可以在postgres搜索字符串中使用运算符“*”

时间:2013-10-27 14:51:42

标签: python string postgresql python-2.7 psycopg2

我正在学习“python 2.7”

我已经创建了一个postgres数据库,但是我愚蠢地将一些描述重命名为*。

有没有办法在搜索字符串中使用*运算符选择数据 - 我试过

* name,/ * name,“* name”,'* name'

非常感谢

import psycopg2
db = psycopg2.connect(database='Database', user="postgres", host="192.168.0.1", password="xyz")
cursor = db.cursor()
cursor.execute("SELECT *  FROM table_name WHERE description = '*name'")
dbinfo = cursor.fetchone()
print dbinfo[0]

编辑 我将上面的代码更改为包含“''”并打印dbinfo [0]

没有'print'就不会出错 但是随着'打印',我得到错误..

TypeError: 'NoneType' object has no attribute '__getitem__'

2 个答案:

答案 0 :(得分:1)

这在很多方面都是如此糟糕,以至于值得努力返回并将列名更改为更标准,而不是可能使数据库的每个用户感到困惑,并且很难对其编写正确的sql。

答案 1 :(得分:0)

我向所有发现我错误的人道歉

在程序的早期部分,当" description = * name"得到了保存,它在名称后面保存了一大堆空白,因此我的搜索字符串找不到匹配!