【发布时间】:2016-01-19 00:45:26
【问题描述】:
我调查了导致此问题的其他一些原因,但无法找到答案。该表不是在“”中创建的,情况完全相同。我的建表语句如下:
CREATE TABLE players (
name VARCHAR(30),
id SERIAL PRIMARY KEY,
wins INTEGER DEFAULT 0,
matches INTEGER DEFAULT 0
);
我正在运行以下 PostgreSQL 查询(在 Python 函数中 - 将播放器插入数据库):
query = "INSERT INTO players (name) VALUES (%s);"
接下来是这个:
query = "SELECT id, name, wins, matches\
FROM players ORDER BY wins DESC;"
当我尝试运行脚本时,出现以下错误:
ProgrammingError: column "id" of relation "players" does not exist
我曾尝试取出 id 列并仅选择 wins,但它告诉我它也不存在。我还尝试将玩家表更改为以下内容:
CREATE TABLE players (
name VARCHAR(30),
id SERIAL PRIMARY KEY,
wins INTEGER,
matches INTEGER
);
INSERT 语句是:
query = "INSERT INTO players (name, wins, matches) VALUES (%s,%s,%s);"
c.execute(query,(name,0,0))
并收到以下错误:
ProgrammingError: column "wins" of relation "players" does not exist
我运行了一个简单的 SELECT * FROM player;在我的终端中,它返回这个表,所以列肯定在那里......
name | id | wins | matches
------+----+------+---------
(0 rows)
【问题讨论】:
-
连接字符串是否指向与您从终端连接的相同端口和数据库?将连接字符串和命令发布到终端客户端。
-
@wingᴇdpᴀnᴛʜᴇʀ
nameis not a reserved key word -
@wingᴇdpᴀnᴛʜᴇʀ 在我进行一些格式更改并合并一些表格之前,名称列工作得很好,现在我什么都做不了。
-
@ClodoaldoNeto 对不起,我对这个很陌生,所以我不太清楚该怎么做。
-
在您的应用程序和 psql 中“SHOW search_path”的结果是什么?
标签: python database postgresql psycopg2