From: | Paul Lambert <paul(dot)lambert(at)autoledgers(dot)com(dot)au> |
---|---|
To: | pgsql-sql(at)postgresql(dot)org |
Subject: | Re: Using escape strings in an insert statement. |
Date: | 2007-07-02 23:26:56 |
Message-ID: | 468989C0.7020601@autoledgers.com.au |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Michael Glaesemann wrote:
>
> On Jul 2, 2007, at 17:45 , Paul Lambert wrote:
>
>> tester=# insert into testing (test_text) values ('abcE'\\'123');
>
> This should be
> INSERT INTO testing (test_text) values (E'abc\123');
>
>> The help itself (ch 4.1.2.1) tells me to use double backslash "Thus,
>> to include a backslash character, write two backslashes (\\). "
>
> Note that the String Constants section (4.1.2.1) says put the E "before
> the opening single quote".
>
> http://www.postgresql.org/docs/8.2/interactive/sql-syntax-lexical.html#SQL-SYNTAX-CONSTANTS
>
>
Missed that part - my apologies. Time to read the manuals more
thoroughly it would seem.
>> An escape string constant is specified by writing the letter E (upper
>> or lower case) just before the opening single quote, e.g. E'foo'.
>
> Also be sure to read the Caution section.
>
> Using \ as an escape character is the old non-standard PostgreSQL escape
> syntax that the WARNING (above) is, uh, warning you about. With
> standard_conforming_strings on (i.e., follow the SQL spec), the
> backslash is just a backslash character.
>
>> Which one is the correct syntax and how can I make it not return
>> anything other than a successful insert?
>
> Depends on the setting of standard_conforming_strings.
>
> Michael Glaesemann
> grzm seespotcode net
>
Looks like it's a toss-up between turning standard_conforming_strings on
or turning escape_string_warning off, both seem to have the same effect
in not giving the error anymore.
I'll go with your suggestion though, I guess since it's a new install
not a previous upgrade of an old it's technically more correct to
conform to current standards rather than attempt to conform to old behavior.
Cheers for the help - much appreciated.
--
Paul Lambert
Database Administrator
AutoLedgers
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Glaesemann | 2007-07-03 00:13:12 | Re: Using escape strings in an insert statement. |
Previous Message | Michael Glaesemann | 2007-07-02 23:11:09 | Re: Using escape strings in an insert statement. |