PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Menambahkan Postgresql ke aplikasi Heroku saya - masalah dengan kueri mogok sintaksis?

User adalah kata yang dicadangkan di postgresql dan diloloskan dengan melampirkannya dengan "" Lihat https://stackoverflow.com/a/7651432 . Berbeda dengan mysql di mana karakter melarikan diri adalah backticks.

Anda juga mencoba memasukkan ke dalam kolom bernama Final_Ratio tetapi tentukan kolom Final_Gearing . Untuk pengujian saya juga menjatuhkan dan membuat ulang tabel setiap kali dijalankan. Kode tetap:

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)

Meskipun bagus untuk mempelajari dasar-dasar situs produksi, saya sangat menyarankan menggunakan perpustakaan tingkat tinggi seperti SQLalchemy.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgresql lambat dihapus dari mana ada

  2. Kembalikan Cap Waktu Unix di PostgreSQL

  3. Basis data default bernama postgres di server Postgresql

  4. Data Pencocokan Teks SQLAlchemy di dalam bidang JSON dengan UTF-8

  5. Penembakan log pemicu di postgres 9.1