Home > Software engineering >  Python SQL Insert script
Python SQL Insert script

Time:04-29

I'm creating a Python script to insert some records in a table, but have the following problem:

 INSERT INTO  orders VALUES (7656940929251, "ADIDAS | KID'S STAN SMITH")
,(242345235233, 'ADIDAS | CLASSIC BACKPACK')

I get the error: "Invalid column name 'ADIDAS | KID'S STAN SMITH'

How can I fix this with Python?

CodePudding user response:

Let's say this is your tuple:

tuples_v3s = ((7656941224163, 'ADIDAS | CLASSIC BACKPACK'),
             (7656941256931, 'ADIDAS | CLASSIC BACKPACK | LEGEND INK MULTICOLOUR'),
             (7656940929251, "ADIDAS | KID'S STAN SMITH"))
for tuples_v3 in tuples_v3s:
  print(f"""INSERT INTO  orders VALUES ({tuples_v3[0]},'{tuples_v3[1].replace("'","''")}' ) """)

#INSERT INTO  orders VALUES (7656941224163,'ADIDAS | CLASSIC BACKPACK' ) 
#INSERT INTO  orders VALUES (7656941256931,'ADIDAS | CLASSIC BACKPACK | LEGEND INK MULTICOLOUR' ) 
#INSERT INTO  orders VALUES (7656940929251,'ADIDAS | KID''S STAN SMITH' ) 

CodePudding user response:

If you are using psycopg2, Please update your query as below

insert_query = "INSERT INTO products VALUES (7656941224163, %s), 
                        (7656941256931, %s),
                        (7656940929251, %s)"
cur.execute(insert_query, ("ADIDAS | CLASSIC BACKPACK", "ADIDAS | CLASSIC BACKPACK | LEGEND INK MULTICOLOUR", "ADIDAS | KID'S STAN SMITH"))
  • Related