[Pgsql-ayuda] ¿Cómo se come esto?

Cesar Villanueva dandel@etheron.net
Wed, 27 Nov 2002 13:11:48 -0400


Hola *

A mí lo que me parece es que el id de 'Muebles Celda' _no_ es 
'21293'; quizá es '21293 ' o bien ' 21293'. Es decir, que hay un espacio (u 
otro caracter invisible antes o después del número en sí. 

Algo como 

SELECT id, marca FROM empresas WHERE id LIKE '%2129%';

y producir algio como:

   id   | marca
 -------+-------
(...)
  21291 | GOWAS
  21292 | GOWAS
  21293 | Muebles Celda
  21294 |
(..)


Si es así entonces el problema está en la rutina que ingresa el número de id 
(es raro si es una secuencia o SERIAL) pero si es introducida por el usuario 
estonces debes validar que no se ingresen caracteres extraños...

¿Cómo _corregir_  el registro? 

Prueba hacer un UPDATE de la siguiente forma:

UPDATE empresas set id='21293' where marca ='Muebles Celda';

(por tu llamada anterior estamos seguros que hay una sola instancia de 
"Muebles Celda"; caso contrario debes usar el oid.

SELECT oid, marca FROM empresas WHERE marca = 'Muebles Celda';
  oid   |     marca
-------+---------------
55555 | Muebles Celda

y actualizas

UPDATE empresas set id='21293' where oid ='55555';


El Miércoles 27 Noviembre 2002 12:20, Antonio Mármol Albert escribió:
> SELECT id, marca FROM empresas WHERE id > '21290' AND id < '21295';
>   id   | marca
> -------+-------
>  21291 | GOWAS
>  21292 | GOWAS
>  21294 |
> (3 rows)
>
> Pero...
>
> SELECT id, marca FROM empresas WHERE marca = 'Muebles Celda';
>   id   |     marca
> -------+---------------
>  21293 | Muebles Celda
> (1 row)
>
> Al buscar por "id" no me sale ese registro. El campo "id" es la clave
> primaria de la tabla.
>
> Ya me di cuenta de esto otra vez (fue de casualidad, un error que vi en una
> pagina de php) y no le di importancia. Hoy es la segunda vez que veo esto.
>
> No han habido cortes de luz ni cierres bruscos de la base de datos. Por lo
> que no deberia estar corrupta.
>
> Sin embargo...
>
> SELECT id, marca FROM empresas WHERE id='21292';
>   id   | marca
> -------+-------
>  21292 | GOWAS
> (1 row)
>
> Al parecer solo ocurre en X registros...
>
> ¿Puede ser un bug?

-- 
César Villanueva
Operations Manager
SuSE Linux C.A.
Cel. 0416-6153429