sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用6,提供了5个

sqlite3.ProgrammingError:提供的绑定数量不正确。当前语句使用6,提供了5个,sqlite,Sqlite,我真的不明白我做错了什么。我的桌子是: conn.execute('''CREATE TABLE USERS (EMAIL TEXT NOT NULL, PASSWORD TEXT NOT NULL, FIRST_NAME TEXT NOT NULL, LAST_NAME TEXT NOT NULL, DATE TEX

我真的不明白我做错了什么。我的桌子是:

conn.execute('''CREATE TABLE USERS
       (EMAIL           TEXT    NOT NULL,
       PASSWORD         TEXT    NOT NULL,
       FIRST_NAME       TEXT    NOT NULL,
       LAST_NAME        TEXT    NOT NULL,
       DATE             TEXT    NOT NULL,
       SEX              TEXT    NOT NULL);''')
当我试图插入到表中时:

conn.executemany("INSERT INTO USERS VALUES (?, ?, ?, ?, ?, ?)", [email, password, first_name, last_name, date, sex])
我得到这个错误:

sqlite3.ProgrammingError: Incorrect number of bindings supplied. The current statement uses 6, and there are 5 supplied.
如果我添加一个问题,错误相同,但现在:

sqlite3.OperationalError: table USERS has 6 columns but 7 values were supplied
如果仅添加逗号而不添加问号,则错误不同:

sqlite3.OperationalError: near ")": syntax error
变量值为:

    email=str(myapp.register_email.text())
    print email
    first_name=str(myapp.first_name.text())
    print first_name
    last_name=str(myapp.last_name.text())
    print last_name
    date=str(myapp.date.text())
    print date
    password="nht"
    print password
    sex=str(myapp.sex.currentText())
    print sex
我在这里真是疯了。

正如所建议的那样,
executemany()
方法需要一个值元组。因此,我建议您使用以下代码插入新条目:

conn.executemany("INSERT INTO USERS VALUES (?, ?, ?, ?, ?, ?)", [(email, password, first_name, last_name, date, sex)]

请告诉我们您试图插入的变量的内容好吗?我更新了它。我使用pyqt如果有帮助,我会打印这些值以查看它们是否有效。结果是什么:
len([电子邮件、密码、名字、姓氏、日期、性别])
?结果是什么意思?我不明白。我想看看插入查询列表的长度,是5还是6?谢谢!成功了!不客气;)感谢python文档!