[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