0

我正在学习“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]

没有“打印”就不会出现错误但是使用“打印”我会得到错误..

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

2 回答 2

1

这在很多方面都非常糟糕,值得努力回去并将列名更改为更标准的,而不是潜在地混淆数据库的每个用户并使其很难编写正确的 sql。

于 2013-10-27T14:57:33.897 回答
0

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

在程序的早期部分中,当“description = *name”被保存时,它在名称后保存了大量空格,因此我的搜索字符串找不到匹配项!

于 2014-04-06T10:54:44.320 回答