Re: Unable to Update a Record - Mailing list pgsql-general

From Richard Huxton
Subject Re: Unable to Update a Record
Date
Msg-id 42EE5161.90900@archonet.com
Whole thread Raw
In response to Re: Unable to Update a Record  ("Wang, Mary Y" <mary.y.wang@boeing.com>)
List pgsql-general
Wang, Mary Y wrote:
> Sorry, that I didn't explain my problem very clearly.
> Anyway, here is the deal:
>
> I'm the admin for the database, so, I've all the privileges of updating,
> deletion, and reviewing and et.
>
> When I tried to select based on the bemsid condition, TWO ROWS returned:
>
> select * from users where bemsid=949762;
>
>  user_id | user_name |           email           | user_pw |    realname
>     4215 | 949762    | john.a.hoff@boeing.com |         | Hoff, John A |

>
> But when I tried select user_id=4215, the result return 0 rows:
>
> select * from users where user_id=4215;
>  user_id | user_name | email | user_pw | realname | status | shell |
> -----+----------------------+---------------------
> (0 rows)
>
> I'm really confused.  I want to delete user_id=4215 because it is
> causing me login errors.  But I can't select, update, delete that
> record. I'm not sure if that record really exist.

1. What type is "user_id"?
If it's a text-type, there could be unseen spaces interfering.

2. Try selecting the OID too (SELECT oid,* FROM ...) with your first
query, then use that oid in your where clause. Can you see it now? Of
course, this assumes you have oids defined for this table.

3. Have you tried re-indexing the table (REINDEX TABLE users)
It's possible the index has become corrupted while the data is fine.

--
   Richard Huxton
   Archonet Ltd

pgsql-general by date:

Previous
From: Vratislav_Morkus@lmc.cz
Date:
Subject: PostgreSQL vs. MySQL
Next
From: "Jim C. Nasby"
Date:
Subject: Re: [pgsql-advocacy] New MySQL to PostgreSQL Migration Guide