sqlite3.OperationalError:near“)”:语法错误

时间:2017-03-10 09:53:18

标签: python sqlite

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,
        );"""

我正在尝试运行此代码,但是我收到以下错误...

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

如果有人可以提供帮助我会很感激。

2 个答案:

答案 0 :(得分:3)

修复sql_1

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

,后删除password text

答案 1 :(得分:1)

删除“密码文本”之后的最后一个“,”。逗号表示正在跟随另一个字段。