Обсуждение: DELETE FROM error message

Поиск
Список
Период
Сортировка

DELETE FROM error message

От
"Daniel Bakken"
Дата:
When running the following DELETE FROM in psql,

omni=# DELETE FROM inventory WHERE invid = '01044T';
ERROR:  Unable to identify an operator '=' for types 'varchar' and 'bpchar'
        You will have to retype this query using an explicit cast

I receive the above error message. The field "invid" is a bpchar.

TIA,

Daniel Bakken, IT Systems Administrator
dan@smtresource.com

SMT Resource | www.smtresource.com

254.771.3508   phone
254.771.3786   fax

Re: DELETE FROM error message

От
Darren Ferguson
Дата:
You will need to cats '01044T' to bpchar since postgres will take any
string as a varchar unless specified otherwise.

Use the following

 DELETE FROM inventory WHERE invid = '01044T'::VARCHAR;

HTH

Darren

On Wed, 17 Jul 2002, Daniel Bakken wrote:

> When running the following DELETE FROM in psql,
>
> omni=# DELETE FROM inventory WHERE invid = '01044T';
> ERROR:  Unable to identify an operator '=' for types 'varchar' and 'bpchar'
>         You will have to retype this query using an explicit cast
>
> I receive the above error message. The field "invid" is a bpchar.
>
> TIA,
>
> Daniel Bakken, IT Systems Administrator
> dan@smtresource.com
>
> SMT Resource | www.smtresource.com
>
> 254.771.3508   phone
> 254.771.3786   fax
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>

--
Darren Ferguson


Re: DELETE FROM error message

От
Robert Treat
Дата:
DELETE FROM inventory WHERE invid = '01044T'::BPCHAR;

Robert Treat

On Wed, 2002-07-17 at 21:59, Darren Ferguson wrote:
> You will need to cats '01044T' to bpchar since postgres will take any
> string as a varchar unless specified otherwise.
>
> Use the following
>
>  DELETE FROM inventory WHERE invid = '01044T'::VARCHAR;
>
> HTH
>
> Darren
>
> On Wed, 17 Jul 2002, Daniel Bakken wrote:
>
> > When running the following DELETE FROM in psql,
> >
> > omni=# DELETE FROM inventory WHERE invid = '01044T';
> > ERROR:  Unable to identify an operator '=' for types 'varchar' and 'bpchar'
> >         You will have to retype this query using an explicit cast
> >
> > I receive the above error message. The field "invid" is a bpchar.
> >
> > TIA,
> >
> > Daniel Bakken, IT Systems Administrator
> > dan@smtresource.com
> >
> > SMT Resource | www.smtresource.com
> >
> > 254.771.3508   phone
> > 254.771.3786   fax
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: you can get off all lists at once with the unregister command
> >     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
> >
>
> --
> Darren Ferguson
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly




Re: DELETE FROM error message

От
"Daniel Bakken"
Дата:
I tried your suggestion (both ways), but I still get the same error message
about explicit casts.

Daniel Bakken

> DELETE FROM inventory WHERE invid = '01044T'::BPCHAR;
>
> Robert Treat
>
> On Wed, 2002-07-17 at 21:59, Darren Ferguson wrote:
> > You will need to cats '01044T' to bpchar since postgres will take any
> > string as a varchar unless specified otherwise.
> >
> > Use the following
> >
> >  DELETE FROM inventory WHERE invid = '01044T'::VARCHAR;
> >
> > HTH
> >
> > Darren


Re: DELETE FROM error message

От
"Daniel Bakken"
Дата:
FYI, I don't get that error message when I SELECT. For instance:

SELECT * FROM inventory WHERE invid = '01044T';

works just fine with no errors. When I try to delete that same record, I get
the error about explicit casts.

Daniel Bakken

> I tried your suggestion (both ways), but I still get the same
> error message
> about explicit casts.
>
> Daniel Bakken
>
> > DELETE FROM inventory WHERE invid = '01044T'::BPCHAR;
> >
> > Robert Treat
> >
> > On Wed, 2002-07-17 at 21:59, Darren Ferguson wrote:
> > > You will need to cats '01044T' to bpchar since postgres will take any
> > > string as a varchar unless specified otherwise.
> > >
> > > Use the following
> > >
> > >  DELETE FROM inventory WHERE invid = '01044T'::VARCHAR;