Po prostu przekaż parametry zapytania jako drugi argument do execute
, jak:
>>> cur.execute(
... """INSERT INTO some_table (an_int, a_date, a_string)
... VALUES (%s, %s, %s);""",
... (10, datetime.date(2005, 11, 18), "O'Reilly"))
Wtedy wszystkie parametry zostaną poprawnie zmienione.
Dzieje się tak, ponieważ psycopg2
następuje Specyfikacja Python Database API v2.0
i obsługuje bezpieczne sparametryzowane zapytania.
Zobacz także:
- Sparametryzowane zapytania z psycopg2 / Python DB-API i PostgreSQL
- odpowiednik mysqldb.escape_string w psicopg2?