FAQ
Hi..
I want to insert some data to postgresql..
My insert code:
yer="019"
cursor.execute("INSERT INTO ids_%s (id) VALUES (%s)", (yer, id))
I don't want to use % when the insert operation.

in this code give me this error:
psycopg2.ProgrammingError: syntax error at or near "'019'"
LINE 1: SELECT link_id from linkkeywords_'019'

if i do int(yer) , 019 change to 19 ..
How can i do int yer string with 0 ?

Search Discussions

  • Abandoned at Oct 28, 2007 at 7:33 am
    Also..
    a="123,245,1235,663"
    cursor.execute("SELECT id, name FROM data WHERE id in (%s)", (a,))
    In this query must be:
    SELECT id, name FROM data WHERE id in (123,245,1235,663)
    but it looks:
    SELECT id, name FROM data WHERE id in ("123,245,1235,663")
    How can i delete " ?
  • Steven D'Aprano at Oct 28, 2007 at 7:45 am

    On Sun, 28 Oct 2007 00:24:34 -0700, Abandoned wrote:

    Hi..
    I want to insert some data to postgresql.. My insert code:
    yer="019"
    cursor.execute("INSERT INTO ids_%s (id) VALUES (%s)", (yer, id)) I don't
    want to use % when the insert operation.

    in this code give me this error:
    psycopg2.ProgrammingError: syntax error at or near "'019'" LINE 1:
    SELECT link_id from linkkeywords_'019'

    if i do int(yer) , 019 change to 19 .. How can i do int yer string with
    0 ?
    Integers with a leading 0 are interpreted as base 8 (octal). You can't
    write 019, because there is no digit "9" in octal.

    Why do you need a leading zero?


    --
    Steven.
  • Abandoned at Oct 28, 2007 at 8:03 am

    On Oct 28, 9:45 am, Steven D'Aprano <st... at REMOVE-THIS- cybersource.com.au> wrote:
    On Sun, 28 Oct 2007 00:24:34 -0700, Abandoned wrote:
    Hi..
    I want to insert some data to postgresql.. My insert code:
    yer="019"
    cursor.execute("INSERT INTO ids_%s (id) VALUES (%s)", (yer, id)) I don't
    want to use % when the insert operation.
    in this code give me this error:
    psycopg2.ProgrammingError: syntax error at or near "'019'" LINE 1:
    SELECT link_id from linkkeywords_'019'
    if i do int(yer) , 019 change to 19 .. How can i do int yer string with
    0 ?
    Integers with a leading 0 are interpreted as base 8 (octal). You can't
    write 019, because there is no digit "9" in octal.

    Why do you need a leading zero?

    --
    Steven.
    Thank you steven.
    I must use 019 beacause my system algoritm in this way..
    And what about second question ?
  • Marc 'BlackJack' Rintsch at Oct 28, 2007 at 8:27 am

    On Sun, 28 Oct 2007 00:24:34 -0700, Abandoned wrote:

    Hi..
    I want to insert some data to postgresql..
    My insert code:
    yer="019"
    cursor.execute("INSERT INTO ids_%s (id) VALUES (%s)", (yer, id))
    I don't want to use % when the insert operation.

    in this code give me this error:
    psycopg2.ProgrammingError: syntax error at or near "'019'"
    LINE 1: SELECT link_id from linkkeywords_'019'
    You are executing an INSERT and get an error about a SELECT!? Hard to
    believe!

    But in both SQL statements you try to insert table names via placeholders.
    This doesn't work as those placeholders are *values* that will be escaped.
    The errormessage is quite clear IMHO::

    SELECT link_id from linkkeywords_'019'

    That's not a valid table name because of the ' that got added when
    inserting the *value* '019'.

    Starting to number tables and the need to dynamically create table names is
    usually sign of a bad schema design BTW.

    Ciao,
    Marc 'BlackJack' Rintsch

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
grouppython-list @
categoriespython
postedOct 28, '07 at 7:24a
activeOct 28, '07 at 8:27a
posts5
users3
websitepython.org

People

Translate

site design / logo © 2022 Grokbase