PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

kursor.execute(WSTAW WARTOŚCI im_entry.test (+entrym+) ('+p+');)

Domyślnie psycopg2 uruchamia transakcje automatycznie, co oznacza, że ​​musisz powiedzieć mu o zatwierdzeniu. Zwróć uwagę, że commit jest metodą connection , a nie cursor .

conn = psycopg2.connection('...')
cur = conn.cursor()
cur.execute("...")
conn.commit()

Intencją jest to, że możesz zgrupować wiele instrukcji w jednej transakcji, aby inne zapytania nie widziały w połowie dokonanych zmian, ale także ze względu na wydajność.

Pamiętaj też, że zawsze powinieneś używać symboli zastępczych, zamiast łączyć ze sobą ciągi.
Np.:

cur.execute("INSERT INTO im_entry.test (colname) VALUES (%s)", [p])

W przeciwnym razie ryzykujesz umożliwienie ataków typu SQL injection.




  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 Wybierz wiersze, w których kolumna =tablica

  2. PSQLException:Zestaw wyników nie jest prawidłowo ustawiony, być może trzeba wywołać następny

  3. Jak działa sqrt() w PostgreSQL

  4. Ściągawka konfiguracji PostgreSQL

  5. Znacznik czasu Postgres now() nie zmienia się, gdy skrypt działa