Re: Unable to Update a Record

From: Richard Huxton <dev(at)archonet(dot)com>
To: "Wang, Mary Y" <mary(dot)y(dot)wang(at)boeing(dot)com>
Cc: "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, pgsql-general(at)postgresql(dot)org
Subject: Re: Unable to Update a Record
Date: 2005-08-01 16:44:17
Message-ID: 42EE5161.90900@archonet.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(dot)a(dot)hoff(at)boeing(dot)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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Vratislav_Morkus 2005-08-01 16:44:50 PostgreSQL vs. MySQL
Previous Message Wang, Mary Y 2005-08-01 16:20:54 Re: Unable to Update a Record