创建非重复用户名数据库

Create non-repeat username data base

我写了 def addmember 来将成员添加到 database.db。我不想重复用户名,例如:当我将成员 (1,1) 添加到数据库时,我无法将成员 (1,2) 添加到我的数据库,因为已经有用户名为“1”的用户。但我的代码仍然允许它!有人能帮我吗 ?节点 self.textEdit.toPlainText(), self.textEdit_2.toPlainText() 只是我的 qtextedit 对象,不要介意它

def addmember(self):
        self.connection = sqlite3.connect("database.db")
        cur = self.connection.cursor()
        cur.execute("CREATE TABLE IF NOT EXISTS USERS(USERNAME TEXT ,PASSWORD TEXT)")
        cur.execute("SELECT * FROM USERS WHERE USERNAME=?", (self.textEdit.toPlainText()))
        for row in cur.fetchall():
            print(row)
        if (len(cur.fetchall())==0):

            cur.execute("INSERT INTO USERS VALUES(?,?)",(self.textEdit.toPlainText(), self.textEdit_2.toPlainText()))
            self.connection.commit()
            self.textEdit.clear()
            self.textEdit_2.clear()
            cur.close()
        else:
            self.textEdit.clear()
            self.textEdit_2.clear()
            cur.close()
        self.connection.commit()
        self.connection.close()

您调用了两次 fetchall。第一个获取所有行。第二个永远不会得到任何行,并且 len 将始终为 0,因此您的插入将始终发生。