I've looked at the documentations but haven't found anything that lets me know if the last command i've execute via cursor.execute("...") is successful.
I'm expecting a reply like "1 row affected."
SELECT 1 FROM information_schema. tables WHERE table_schema = 'schema_name' AND table_name = 'table_name'; SELECT EXISTS ( SELECT FROM pg_tables WHERE schemaname = 'schema_name' AND tablename = 'table_name' );
This is an old question, but one way to check for a successful operation with psycopg2
is simply to look at the rowcount
attribute for the cursor after your statement. This attribute returns the number of rows affected by the last execute
statement.
e.g.
connection = psycopg2.connect(dbname="foo",user="postgres")
cur = connection.cursor()
cur.execute("INSERT INTO foo VALUES (%s, %s)", (1,2))
cur.rowcount # returns 1
cur.execute("SELECT * FROM foo")
cur.rowcount # returns 0
A similar attribute is statusmessage
, which returns a string including the type of the last operation performed along with the number of rows affected.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With