Reputation: 97
I am getting the below error when i am trying to make a query to the database via python.roll_no is the key as per the table.
File "class_room.py", line 30, in get
cursor.execute("select first_name from class_room where keyword=%s", (roll_no))
psycopg2.ProgrammingError: column "keyword" does not exist
LINE 1: select first_name from class_room where keyword='3'
^
12:21 class_room=# \d+ class_room
Table "public.class_room"
Column | Type | Modifiers | Storage | Stats target | Description
------------+---------+---------------------------+----------+--------------+- ------------
roll_no | integer | not null | plain | |
first_name | text | not null default ''::text | extended | |
last_name | text | not null default ''::text | extended | |
marks | integer | | plain | |
Indexes:
"class_room_pkey" PRIMARY KEY, btree (roll_no)
Has OIDs: no
user:~/pathclass_room $ cat schema.sql
create table class_room (
roll_no int primary key,
first_name text not null default '',
last_name text not null default '',
marks int
);
Upvotes: 0
Views: 7427
Reputation: 125204
Change to:
cursor.execute("select first_name from class_room where roll_no = %s", (roll_no,))
Do not omit the comma after roll_no
. It turns the parenthesised expression into a tuple.
Upvotes: 1