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

From: Cesar Villanueva <dandel(at)etheron(dot)net>
To: Antonio Mármol Albert <toni(at)infurma(dot)combios(dot)es>, pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
Subject: [Pgsql-ayuda] ¿Cómo se come esto?
Date: 2002-11-27 17:11:48
Message-ID: 200211271311.48529.dandel@etheron.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Antonio Mármol Albert 2002-11-27 17:35:32 [Pgsql-ayuda] Re: [Pgsql-ayuda] ¿Cómo se come esto?
Previous Message Víctor R. Ruiz 2002-11-27 16:49:49 Re: [Pgsql-ayuda] Re: [Pgsql-ayuda] Re: [Pgsql-ayuda] ¿Cómo se come esto?