Cloud
Cloud

Reputation: 399

Python: Error in SQL Syntax

I am trying to get my Python code to count the number of records in my table. However, the Python shell keeps throwing up a "error in your SQL syntax" message. Does anyone have any ideas on what is wrong?

def count_rows(table):
    cur.execute(
        "SELECT COUNT(*) FROM %s",
        (table,)
    )
    cur.connection.commit()

count_rows("home_service")

Upvotes: 2

Views: 74

Answers (1)

Mureinik
Mureinik

Reputation: 312259

Bound parameters, such as the execute function has can only be used to represent values - not object names or syntactic elements. If you want to dynamically determine set the table name, you'd have to resort to string manipulation:

cur.execute("SELECT COUNT(*) FROM %s" % table)

Upvotes: 1

Related Questions