Thread: error on Database insert
Greetings all, I have been receiveing an error on database inserts stated below: Bad int8 external representation "0x000000000002" what is this all about, why won't it insert this data into my bigint field in my Database? What does it mean by externalrepresentation? Does anyone have any suggestions Thanks, Cameron Seader Operations Center Technician II CSeader@Idahopower.com 1.208.388.2582 Office [INFO] -- Access Manager: This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicablelaw. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution,or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you receivedthis transmission in error, please immediately contact the sender and destroy the material in its entirety, whetherin electronic or hard copy format. Thank you. A2
Seader, Cameron wrote: > Bad int8 external representation "0x000000000002" > > what is this all about, why won't it insert this data into my bigint > field in my Database? What does it mean by external representation? > Does anyone have any suggestions You are apparently trying to insert a hex string "0x000000000002" (notice it starts with '0x') into an int8 field -- don't do that. Convert the hex to integer before inserting, or cast it, like so: regression=# select x'000000000002'::int8; int8 ------ 2 (1 row) Joe
Probably better if forwarded to the hackers list but it would be nice if you could set a flag for each transaction/connection to "autocast" on INSERT, UPDATE, DELETE and COPY according to the column the value is destined for. set enable_autocast = on; Could make for sloppy, less portable SQL and may take a hit in performance on INSERT's and the like conversely it would reduce the code on the client side. Guess it depends what you want to be doing the most work. Greg Joe Conway wrote: > Seader, Cameron wrote: > >> Bad int8 external representation "0x000000000002" >> >> what is this all about, why won't it insert this data into my bigint >> field in my Database? What does it mean by external representation? >> Does anyone have any suggestions > > > You are apparently trying to insert a hex string "0x000000000002" > (notice it starts with '0x') into an int8 field -- don't do that. > Convert the hex to integer before inserting, or cast it, like so: > > regression=# select x'000000000002'::int8; > int8 > ------ > 2 > (1 row) > > > Joe > > > ---------------------------(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 -- Greg Spiegelberg Sr. Product Development Engineer Cranel, Incorporated. Phone: 614.318.4314 Fax: 614.431.8388 Email: gspiegelberg@Cranel.com Cranel. Technology. Integrity. Focus.