Attila Kevei wrote:
> Hi,
>
> Our database has a SELECT problem using varchar columns in WHERE clause
> (but not in all rows!!!).
> We can fix the whole table (or just the row) as shown below but later it
> seems wrong again (and after the fix the row isn't UPDATEd).
>
> Any idea?
>
> Thanks
> Attila
>
> ********************************************************************************
> Environment:
>
> [PostgreSQL 6.5.3 on i686-pc-linux-gnu, compiled by gcc 2.95.2]
>
> goodwill=>\d users
> Table = users
> +----------------------------------+----------------------------------+-------+
> | Field | Type | Length|
> +----------------------------------+----------------------------------+-------+
> | user_id | int4 not null default nextval ( | 4 |
> | user_login | varchar() not null | 15 |
> | user_passwd | varchar() not null | 15 |
> | user_exp | timestamp | 4 |
> +----------------------------------+----------------------------------+-------+
> Indices: users_pkey
>
> users_user_login_key
>
> ********************************************************************************
> The problem:
>
> goodwill=>select * from users where user_login='test';
> user_id|user_login|user_passwd|user_exp
> -------+----------+-----------+--------
> (0 rows)
>
> goodwill=> select * from users where user_id=4;
> user_id|user_login|user_passwd |user_exp
> -------+----------+-------------+--------
> 4|test |0PDv7a2EESjZo|
> (1 row)
>
> goodwill=> update users set user_login=user_login where user_id=4;
> UPDATE
> 1
>
> goodwill=>select * from users where user_login='test';
> user_id|user_login|user_passwd |user_exp
> -------+----------+-------------+--------
> 4|test |0PDv7a2EESjZo|
> (1 row)
>
> --
> x- kisix@swi.hu -x- attila.kevei@goodwill.hu -x- kisiksz@westel900.net -x
hello
are you sure the value of the user_id in that line is "test" and not "test "
i.e it has not spurious spaces at the end of it ?
HTH
Patrick