toni
toni

Reputation: 57

sqlite3.OperationalError: near ")": syntax error

def staff_database(db_name,table_name,sql_1,admin):
    with sqlite3.connect('BehaviourManagement.db') as db:#connects this funtion to the database file
        cursor = db.cursor()#used to naviage around the database
        cursor.execute("select name from sqlite_master where name=?",(table_name,))#checks database for this table
        result = cursor.fetchall()#gets the results
        if len(result) != 1:#runs if statement if table present in the database
            cursor.execute(sql_1)#runs the sql statement
            db.commit()#ensures changes made to the database are saved
            cursor.execute(insert_to_login ,admin)
            db.commit()

sql_1 = """CREATE TABLE Login(
        ID INTEGER PRIMARY KEY autoincrement,
        username text, 
        password text,
        );"""

i am trying to run this code but i get the following error...

Traceback (most recent call last):
  File "M:\computer science a2\comp 3\login.py", line 151, in <module>
    staff_database(db_name, table_name,sql_1,admin)#runs the function
  File "M:\computer science a2\comp 3\login.py", line 62, in staff_database
    cursor.execute(sql_1)#runs the sql statement
sqlite3.OperationalError: near ")": syntax error

if anyone can help i would appreciate it.

Upvotes: 4

Views: 22831

Answers (2)

Dmitry
Dmitry

Reputation: 2096

Fix sql_1:

sql_1 = """CREATE TABLE Login(
        ID INTEGER PRIMARY KEY autoincrement,
        username text, 
        password text
        );"""

remove , after password text.

Upvotes: 8

mfnalex
mfnalex

Reputation: 889

Remove the last "," after "password text". The comma indicates that another field is following.

Upvotes: 3

Related Questions