Standaard start psycopg2 automatisch transacties voor u, wat betekent dat u het moet vertellen om te committen. Merk op dat commit
is een methode van de connection
, niet de cursor
.
conn = psycopg2.connection('...')
cur = conn.cursor()
cur.execute("...")
conn.commit()
De bedoeling is dat je meerdere overzichten kunt groeperen in één transactie, zodat andere zoekopdrachten geen half aangebrachte wijzigingen zien, maar ook om prestatieredenen.
Houd er ook rekening mee dat u altijd tijdelijke aanduidingen moet gebruiken, in plaats van tekenreeksen samen te voegen.
Bijvoorbeeld:
cur.execute("INSERT INTO im_entry.test (colname) VALUES (%s)", [p])
Anders loop je het risico SQL-injectie-aanvallen mogelijk te maken.