sql >> Databáze >  >> RDS >> PostgreSQL

Přidávání Postgresql do mé aplikace Heroku – problémy s dotazy na selhání syntaxe?

User je vyhrazené slovo v postgresql a je uvozeno uzavřením s "" Viz https://stackoverflow.com/a/7651432 . Na rozdíl od mysql, kde jsou unikající znaky obrácené.

Zkuste také vložit do sloupce s názvem Final_Ratio ale definujte sloupec Final_Gearing . Pro testování #mám také vypuštění a opětovné vytvoření tabulky při každém spuštění. Pevný kód:

import psycopg2

# connect to remote Heroku Postgres DB
pgdb = psycopg2.connect(
   host='localhost',
   user='test',
   password='test',
   port='5432',
   database='test_stackoverflow'
   )

pgcursor = pgdb.cursor()

# verify I've got my credentials in correctly
def check_connection():
   pgcursor.execute("select version()")
   data = pgcursor.fetchone()
   print("Connection established to: ", data)

def create_table():
   sql = '''CREATE TABLE estimation_data 
   ("User" text PRIMARY KEY,
    Motor_kV integer,
     Batt_Volt decimal,
      Pinion integer,
       Spur integer,
        Final_Gearing decimal,
         Wheel_Rad decimal);'''
   pgcursor.execute(sql)
   pgdb.commit()

def drop_table():
   sql = "DROP TABLE IF EXISTS estimation_data;"
   pgcursor.execute(sql)
   pgdb.commit()



def pg_add_data(sql,val):
   pgcursor.executemany(sql, val)
   pgdb.commit()


check_connection()
drop_table()
create_table()

pgsql = '''INSERT INTO estimation_data 
   ("User", Motor_kV, Batt_Volt, Pinion, Spur, Final_Gearing, Wheel_Rad) 
   VALUES (%s, %s, %s, %s, %s, %s, %s);'''
pgval = [
      ('204.210.165.122', 2400, 16.8, 16, 54, 3.92, 2.5),
      ('204.210.165.123', 3500, 12.6, 16, 54, 3.92, 2.5),
      ('204.210.165.124', 4200, 8.4, 12, 54, 3.92, 2.5)]
pg_add_data(pgsql, pgval)

I když je dobré naučit se základy pro produkční web, důrazně bych doporučil používat knihovnu na vysoké úrovni, jako je SQLalchemy.




  1. Extrahujte 1. tři oktety IPV4

  2. Dynamický dotaz pro klauzuli PIVOT

  3. ora-12154 nemohl vyřešit... s okamžitým klientem Oracle

  4. Nejlepší nástroj pro obnovu SQL pro rok 2020 k obnovení klíčové databáze SQL