所以我基本上要做的是从pyqt开发的数据中获取数据并将其插入数据库,问题出在我的ID列,这是我用来将数据插入到数据库:
connection.execute("INSERT INTO UTILISATEURS VALUES (?,?,?,?,?,?) ",(fullname,email,cin,address,phonenumber,ribnumber))
我总是收到这个错误:
sqlite3.OperationalError: table UTILISATEURS has 7 columns but 6 values were supplied
当我输入一个直接从sqlite cli插入表中的查询时,我得到了所需的结果而无需自动插入ID自动增量
这是.schema命令的输出:
sqlite> .schema
CREATE TABLE ADMINSS(USERNAME TEXT NOT NULL,PASSWORD TEXT);
CREATE TABLE UTILISATEURS(ID INTEGER PRIMARY KEY,FULLNAME TEXT NOT NULL,EMAIL INT NOT NULL,CIN INTEGER,ADDRESS CHAR(50),PHONE INTEGER,RIB INTEGER);
答案 0 :(得分:0)
您需要传递列表列表:
connection.execute("INSERT INTO UTILISATEURS (FULLNAME, EMAIL, CIN, ADDRESS, PHONE, RIB) VALUES (?,?,?,?,?,?) ", (fullname, email, cin, address, phonenumber, ribnumber))
跳过列表的唯一方法是传递所有7列。
答案 1 :(得分:0)
好吧,我接受了之前的回答,但略有修改:
connection.execute("INSERT INTO UTILISATEURS (FULLNAME, EMAIL, CIN, ADDRESS, PHONE, RIB) VALUES (?,?,?,?,?,?) ", (str(fullname), str(email), str(cin), str(address), str(phonenumber), str(ribnumber)))
这适用于结果我应该解析为从表单中的文本框中获取的值字符串。