From: | "Harry Jackson" <harryjackson(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Is this a bug? |
Date: | 2007-07-01 18:44:47 |
Message-ID: | 45b42ce40707011144t20c7703bk11328bdbd6e17a6f@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
The following sql statement fails because the column "user_id" does
not exist in the users table.
=# select user_id from users WHERE username = 'blah';
ERROR: column "user_id" does not exist
LINE 1: select user_id from users WHERE username = 'blah......
^
The following shows a valid statement where I want to delete one user
entry from the "map_users_roles" table
=# delete from map_users_roles where user_id = (select id from users
WHERE username = 'blah');
DELETE 2
If I made a mistake and changed the "id" column to "user_id" then from
some the statement executes.
=# delete from map_users_roles where user_id = (select user_id from
users WHERE username = 'blah');
DELETE 33631
I would have thought that the last statement would fail. Instead it
removed all the entries from the table. This is happening because I
did not qualify the column names as follows...
=# delete from map_users_roles where user_id = (select u.user_id from
users as u WHERE username = 'blah');
ERROR: column u.user_id does not exist
LINE 1: ...lete from map_users_roles where user_id = (select u.user_id ...
Still, this was quite a suprise to me and I would consider this a bug.
Thoughts?
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2007-07-01 18:52:20 | Re: Is this a bug? |
Previous Message | Tom Lane | 2007-07-01 18:40:10 | Re: [pgsql-general] In memory tables/databases |